Proyectos

Diccionario

¿Qué es un Diccionario?

Un Diccionario en Gigantics es un sistema de almacenamiento inteligente que recuerda cómo has transformado los valores de los datos. Piensa en él como un sistema de memoria que garantiza una anonimización consistente en todo tu proyecto.

Por qué Importan los Diccionarios

Cuando anonimizas datos, a menudo necesitas que el mismo valor original se convierta en el mismo valor anonimizado cada vez que aparece. Esto se llama integridad referencial - mantener las relaciones entre los datos incluso después de la anonimización.

Ejemplo de Escenario:

Datos Originales:
- Cliente "John Smith" con email "john@example.com"
- Pedido realizado por "John Smith"
- Factura enviada a "john@example.com"

Sin Diccionario:
- Nombre del cliente - "Mark Johnson"
- Cliente del pedido - "Sarah Williams" - ¡Diferente!
- Email de la factura - "sarah@email.com" - ¡Diferente!

Con Diccionario (Modo Etiqueta):
- Nombre del cliente - "Mark Johnson"
- Cliente del pedido - "Mark Johnson" - ¡Consistente!
- Email de la factura - "mark@email.com" - ¡Consistente!

Los diccionarios aseguran que "John Smith" siempre se convierta en "Mark Johnson" y "john@example.com" siempre se convierta en "mark@email.com" en todo tu proyecto, manteniendo las relaciones y consistencia de los datos.

Dónde se Usan los Diccionarios en Gigantics

Los diccionarios están integrados en toda la aplicación Gigantics en varias áreas clave:

1. Página de Diccionario del Proyecto

La interfaz principal de gestión del diccionario se encuentra en:

Ruta de Navegación:

Proyectos → [Tu Proyecto] → Diccionario

Aquí puedes:

  • Ver todas las entradas del diccionario
  • Importar/Exportar diccionarios
  • Buscar y filtrar entradas
  • Limpiar todo el diccionario, o solo las entradas guardadas por un job
  • Ver el número de entradas por ámbito y combinar ámbitos

2. Configuración de Reglas

Los diccionarios se configuran al crear o editar Reglas y Pipelines:

Ruta de Navegación:

Modelo → Reglas → [Crear/Editar Regla] → Opciones Predeterminadas → Diccionario

Aquí configuras:

  • Modo del diccionario (Campo, Etiqueta, Global, Ninguno)
  • Opción de caché del diccionario
  • Almacenar nuevas transformaciones
  • Sobrescribir el diccionario existente

3. Transformaciones a Nivel de Campo

Al configurar transformaciones individuales de campos en operaciones de anonimización:

Ruta de Navegación:

Modelo → Reglas → [Editar Regla] → [Seleccionar Campo] → Opciones de Transformación → Diccionario

Cada campo puede tener su propia configuración de diccionario:

  • Anulación del modo del diccionario
  • Opción de reemplazar la etiqueta
  • Definición de ámbito personalizada
  • Alternar con opciones
  • Manejo de nulos

4. Configuración de Pipeline

Al configurar pipelines automatizados:

Ruta de Navegación:

Modelo → Pipelines → [Crear/Editar Pipeline] → Opciones del Diccionario

Los Pipelines heredan la configuración del diccionario que se usará para todas las ejecuciones de los trabajos.

Componentes de la Interfaz de Usuario del Diccionario

Página Principal del Diccionario

La página del diccionario (/projects/dictionary) proporciona una interfaz completa para gestionar entradas del diccionario:

┌────────────────────────────────────────────────────────────────────────────┐
│ Diccionario                                                                │
│ Entradas del diccionario de este proyecto                                  │
├────────────────────────────────────────────────────────────────────────────┤
│ [Buscar] [Ámbito ▼][⇅]   [Gestionar ámbitos] [Exportar] [Importar] [Más ▼] │
├────────────────────────────────────────────────────────────────────────────┤
│ Key               Nuevo Valor       Scope            Job                   │
│ ───────────────────────────────────────────────────────────────────────────│
│ abc123def456...   Mark Johnson      person/name      pump-job-1168         │
│ def789ghi012...   mark@email.com    email            pump-job-1168         │
│ jkl345mno678...   Company XYZ       org/name         dump-job-1170         │
│ ...               ...               ...              ...                   │
├────────────────────────────────────────────────────────────────────────────┤
│          [« Anterior] [Siguiente »]                                        │
└────────────────────────────────────────────────────────────────────────────┘

Columnas de la Tabla:

ColumnaContenido
Key (clave)El hash del valor original, ver Claves del Diccionario y Seguridad. Las claves largas se acortan, pasa el ratón por encima para ver la clave completa
Nuevo ValorEl valor en el que se transforma el original
Scope (ámbito)El ámbito de la entrada, que depende del modo del diccionario (por ejemplo la etiqueta, o la entidad y el campo)
JobEl nombre del job que guardó la entrada, por ejemplo pump-job-1168. Cuando otro job guarda la misma clave en el mismo ámbito, muestra ese job. Las entradas importadas desde un archivo no tienen job

Acciones de la Barra de Herramientas:

BotónIconoFunciónCuándo Usar
Gestionar ámbitosEngranajeLista los ámbitos con su número de entradas y combina ámbitos en otroPara tener una visión general del diccionario o unir ámbitos que deben compartir sus valores
ExportarExportarDescarga el diccionario como CSV o JSONPara hacer copia de seguridad o migrar el diccionario
ImportarImportarCarga el diccionario desde un archivoPara restaurar o fusionar diccionarios
Más → Borrar por jobEliminarElimina las entradas guardadas por un jobPara deshacer lo que guardó un job, sin perder el resto del diccionario
Más → Borrar diccionarioLimpiarElimina todas las entradasPara empezar desde cero o reiniciar el diccionario

Funcionalidad de Búsqueda:

La búsqueda se ejecuta al pulsar Intro o hacer clic en el icono de búsqueda:

  • Una clave completa (32 o 64 caracteres hexadecimales) muestra la entrada con esa clave
  • El nombre completo de un ámbito muestra las entradas de ese ámbito
  • Cualquier otro texto muestra las entradas cuyo nuevo valor, ámbito, clave o job lo contienen (sin distinguir mayúsculas y minúsculas). Busca el nombre de un job para ver las entradas que guardó

Opciones de Ordenación:

  • Ordenar por Ámbito, en orden ascendente o descendente

Borrar por Job

Más → Borrar por job elimina las entradas guardadas por un job y mantiene el resto del diccionario. Úsalo, por ejemplo, cuando un job se ejecutó con una regla u opciones equivocadas y no quieres que los siguientes jobs reutilicen sus valores.

  1. Abre Más y selecciona Borrar por job.
  2. El diálogo Eliminar entradas del diccionario por job avisa de los jobs que usan el diccionario y siguen en marcha (ver Cambiar el Diccionario con Jobs en Marcha).
  3. Escribe el nombre del job, tal como aparece en la columna Job (por ejemplo pump-job-1168). Debe ser el nombre completo: no se eliminan las entradas de los jobs cuyo nombre solo lo contiene.
  4. Haz clic en Eliminar. Un mensaje indica cuántas entradas se han eliminado.

Una entrada solo guarda el último job que la guardó: borrar un job no elimina las entradas que un job posterior volvió a guardar, se eliminan con ese job posterior. Si el diccionario queda vacío, empieza de nuevo con claves HMAC-SHA256 (ver Claves del Diccionario y Seguridad).

Panel Gestionar Ámbitos

Gestionar ámbitos lista los ámbitos del diccionario con el número de entradas de cada uno, y combina ámbitos en otro:

┌────────────────────────────────────────────────────────────┐
│ Gestionar ámbitos                                          │
├────────────────────────────────────────────────────────────┤
│ ⚠ Jobs que usan el diccionario (si los hay)                │
│                                                            │
│ [Filtrar ámbitos  ]  4 scopes, 40001 entries · 2 selected  │
│                                           Seleccionar todo │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ ☑ person/name                                    15234 │ │
│ │ ☑ customers.name                                  3410 │ │
│ │ ☐ email                                          12456 │ │
│ │ ☐ org/name                                        8901 │ │
│ └────────────────────────────────────────────────────────┘ │
│                                                            │
│ Combinar en el ámbito                                      │
│ [Seleccione o escriba un nuevo ámbito ▼]                   │
│                                                            │
│                [Cancelar]  [Combinar seleccionados]        │
└────────────────────────────────────────────────────────────┘
  • Filtrar ámbitos muestra solo los ámbitos cuyo nombre contiene el texto. Junto a él aparecen el número de ámbitos y de entradas del diccionario, y cuántos ámbitos están seleccionados.
  • Haz clic en un ámbito para seleccionarlo. Seleccionar todo selecciona todos los ámbitos que muestra el filtro, y Deseleccionar todo los quita.
  • Una vez seleccionado un ámbito, elige en Combinar en el ámbito el ámbito que recibe las entradas: uno existente, o escribe un nombre nuevo y selecciona la opción marcada con (new).
  • Combinar seleccionados mueve las entradas de los ámbitos seleccionados a ese ámbito. Cuando la misma clave está en más de uno de esos ámbitos (incluido el ámbito de destino), se mantiene la entrada creada primero y se eliminan las demás: el mensaje indica cuántas entradas duplicadas se han eliminado.
  • Sin ningún ámbito seleccionado, el panel solo muestra los ámbitos y se cierra con Cerrar.

Combinar ámbitos es útil después de cambiar el modo del diccionario o las etiquetas de algunos campos: los campos que ahora usan el nuevo ámbito reutilizan los valores del ámbito anterior. Los jobs reutilizan las entradas combinadas a partir de su siguiente ejecución.

┌─────────────────────────────────────────────┐
│ Importar diccionario                        │
├─────────────────────────────────────────────┤
│ ⚠ Jobs que usan el diccionario (si los hay) │
│ ⚠ Secreto del diccionario                   │
│                                             │
│    ┌────────────────────────────┐           │
│    │                            │           │
│    │   [Área Arrastrar y Soltar]│           │
│    │                            │           │
│    │    ⇧ Haz clic o arrastra   │           │
│    │                  archivo   │           │
│    │        Acepta: .json       │           │
│    │                            │           │
│    └────────────────────────────┘           │
│                                             │
│  Acción:                                    │
│  ☑ Agregar nuevo / reemplazar coincidencias │
│  ☐ Sobrescribir todo el diccionario         │
│                                             │
│              [Cancelar]  [Confirmar]        │
└─────────────────────────────────────────────┘

Opciones de Importación:

OpciónDescripciónCaso de Uso
AgregarAñade nuevas entradas, actualiza claves coincidentesFusionar diccionarios o actualizar entradas específicas
SobrescribirReemplaza el diccionario enteroRestaurar desde copia de seguridad o reemplazo completo

Formato del Archivo:

  • Requiere formato JSON
  • Cada entrada debe tener: key, val, scope
  • Las claves HMAC-SHA256 solo coinciden si el archivo viene de una instalación con el mismo secreto del diccionario
  • Todas las claves del archivo deben ser del mismo tipo (MD5 o HMAC-SHA256). Se rechaza agregarlo a un diccionario que tiene entradas con el otro tipo de clave
  • Con Sobrescribir, se comprueban las primeras entradas del archivo antes de eliminar el diccionario
┌────────────────────────────────────────┐
│ Exportar diccionario                   │
├────────────────────────────────────────┤
│                                        │
│  Formato:                              │
│  [● CSV ]                              │
│                                        │
│  ¿Qué deseas exportar?                 │
│  ☑ Diccionario completo                │
│  ☐ Seleccionar ámbito                  │
│    [Seleccionar ámbito ▼]              │
│      - person/name                     │
│      - email                           │
│      - org/name                        │
│      ...                               │
│                                        │
│              [Cancelar]  [Exportar]    │
└────────────────────────────────────────┘

Opciones de Exportación:

OpciónDescripciónCuándo Usar
Diccionario CompletoExporta todas las entradasCopia de seguridad completa o migración
Seleccionar ÁmbitoExporta ámbitos específicosCopia de seguridad parcial o análisis específico del ámbito
Formato CSVValores separados por comasAnálisis en hojas de cálculo o herramientas externas
Formato JSONEstructura JSONUso programático o reimportación

Configuración de Reglas - Opciones del Diccionario

Al configurar las reglas, verás la sección del Diccionario:

┌─────────────────────────────────────────────────────────┐
│ Diccionario                                             │
│ ℹ Indica si esta regla utilizará                        │
│   valores que han sido                                  │
│   enmascarados en ejecuciones anteriores                │
│                                                         │
│ Modo:                                                   │
│ ○ Sin diccionario                                       │
│ ○ Reutilizar valores en la misma entidad+campo          │
│ ○ Reutilizar valores con la misma etiqueta o            │
│   misma entidad+campo                                   │
│ ○ Reutilizar valores en cada campo                      │
│                                                         │
│ ○ Caché del diccionario                                 │
│ ○ Almacenar nuevas transformaciones en el diccionario   │
│ ○ Sobrescribir diccionario existente                    │
└─────────────────────────────────────────────────────────┘

Opciones de Configuración:

OpciónDescripciónImpacto
Modo: NingunoDesactiva el uso del diccionarioMáxima aleatoriedad, sin consistencia
Modo: CampoReutiliza por combinación entidad+campoValores diferentes en diferentes campos
Modo: EtiquetaReutiliza por tipo de etiquetaConsistente en los mismos tipos de datos
Modo: GlobalReutiliza en todas partesMáxima consistencia, ámbito único
Caché del diccionarioAlmacena en memoria para acceso más rápidoMejor rendimiento, usa más memoria
Almacenar nuevas transformacionesGuarda nuevas transformaciones para uso futuroEl diccionario crece, permite reutilización entre trabajos
Sobrescribir existenteLimpia el diccionario antes de iniciar el trabajoComienza de cero, elimina entradas antiguas

El caché del diccionario se guarda en ficheros en la carpeta .debaser/map de cada servidor de Gigantics. Mantén esa carpeta en un disco local: los jobs que se ejecutan a la vez comparten esos ficheros, y una carpeta de red compartida (NFS) puede romperlos cuando el caché se recarga.

Detectar Valores Ya Anonimizados

El diccionario también indica qué valores ya están anonimizados. Cuando un job sobrescribe el tap, la opción Ignorar los valores ya anonimizados de sus Opciones de transformación (en Nuevo job y Nuevo pipeline) busca cada valor en el diccionario: un valor guardado como nuevo valor de una entrada se mantiene tal cual, en lugar de volver a anonimizarse. Está desactivada por defecto, necesita un modo del diccionario distinto de Sin diccionarios y no es una opción de la regla. Consulta Ignorar los valores ya anonimizados para ver los detalles.

Configuración del Diccionario a Nivel de Campo

Al configurar transformaciones individuales de campo:

┌────────────────────────────────────────┐
│ Diccionario                            │
│                                        │
│ Modo: [▼ Ámbito de Etiqueta]           │
│   □ Heredar de la regla                │
│   □ Omitir diccionario                 │
│   □ Ámbito de Etiqueta                 │
│   □ Ámbito de Nombre de Campo          │
│   □ Ámbito Entidad/Campo               │
│   □ Ámbito Global                      │
│   □ Ámbito Definido por el Usuario     │
│                                        │
│ Reemplazar Etiqueta: [_______________] │
│ Ámbito:              [_______________] │
│                                        │
│ □ Con opciones                         │
│ □ Manejo de nulos                      │
└────────────────────────────────────────┘

Opciones a Nivel de Campo:

OpciónDescripciónEjemplo de Caso de Uso
Heredar de la reglaUsa la configuración del diccionario del nivel de la reglaComportamiento predeterminado, consistente con la regla
Omitir diccionarioOmite el diccionario para este campoMáxima aleatoriedad para campos sensibles
Ámbito de EtiquetaUsa la etiqueta del campo para el ámbitoConsistencia estándar dentro del tipo de datos
Ámbito de Nombre de CampoUsa el nombre del campo entre entidadesConsistente para campos con el mismo nombre
Entidad/Ámbito de CampoÁmbito específico del campoValores diferentes por campo
Ámbito GlobalConsistencia en todo el proyectoMáxima consistencia
Ámbito Definido por el UsuarioNombre de ámbito personalizadoLógica de agrupación personalizada
Reemplazar EtiquetaAnula la detección automática de etiquetasTratar el campo como un tipo diferente
ÁmbitoIdentificador de ámbito personalizadoAgrupación personalizada cuando se usa definido por el usuario
Con opcionesIncluye las opciones de la función en la claveDiferentes transformaciones para el mismo valor con diferentes parámetros
Manejo de nulosAlmacena y reutiliza transformaciones nulasManejo consistente de valores nulos

Claves del Diccionario y Seguridad

El diccionario nunca almacena los valores originales. Cada entrada se guarda bajo una clave calculada a partir del valor original:

  • HMAC-SHA256 con el secreto del diccionario de la instalación: 64 caracteres hexadecimales. Los diccionarios nuevos y los que se limpian usan estas claves. Sin el secreto, las claves no se pueden revertir ni volver a calcular a partir de valores candidatos.
  • MD5: 32 caracteres hexadecimales. Los diccionarios creados por versiones anteriores mantienen sus claves MD5, así que sus entradas se siguen reutilizando y las funciones personalizadas siguen funcionando. Pasan a HMAC-SHA256 la próxima vez que se limpian.

Cada proyecto usa un único tipo de clave a la vez. Limpiar el diccionario o eliminar todas sus entradas por job hace que empiece de nuevo con claves HMAC-SHA256. Importar un archivo con Sobrescribir, o en un diccionario vacío, toma las claves del archivo: un archivo exportado de un diccionario con claves MD5 las mantiene.

Las entradas importadas desde una instalación con un secreto del diccionario distinto nunca coinciden: sus claves se calcularon con el otro secreto. Usa el mismo secreto en todas las instalaciones que intercambian diccionarios.

Cambiar el Diccionario con Jobs en Marcha

Los jobs que almacenan nuevas transformaciones las guardan en el diccionario al terminar. Antes de limpiar el diccionario, eliminar entradas por job, gestionar los ámbitos o importar, el diálogo avisa de los jobs que usan el diccionario y siguen en marcha.

  • Borrar diccionario, importaciones con Sobrescribir y reglas con Sobrescribir existente: las entradas generadas por los jobs que ya estaban en marcha no se guardan, así que las entradas borradas no vuelven. El log del job indica cuántas entradas no se han guardado. Si el diccionario ya estaba vacío, no se borra nada y los jobs en marcha siguen guardando sus entradas, salvo que cambie su tipo de clave.
  • Borrar por job y Gestionar ámbitos: los jobs en marcha siguen guardando sus nuevas entradas al terminar, así que un ámbito fusionado con otro puede volver a aparecer con sus entradas. Si eliminar por job vacía un diccionario con claves MD5, empieza de nuevo con claves HMAC-SHA256 y esas entradas no se guardan.
  • Importar en un diccionario vacío un archivo con otro tipo de clave: las entradas de los jobs en marcha no se guardan.
  • Una importación falla si el diccionario se limpia mientras se ejecuta: vuelve a importar el archivo.

Espera a que terminen los jobs en marcha antes de cambiar el diccionario si necesitas sus entradas.

Modos del Diccionario Explicados

Modo: Ninguno (Desactivado)

Qué hace: El diccionario está completamente desactivado para esta regla o campo.

Comportamiento:

  • No se almacenan transformaciones
  • No se realizan búsquedas
  • Cada transformación es independiente
  • Máxima aleatoriedad

Cuándo usar:

  • Cuando deseas una aleatorización máxima
  • Para transformaciones únicas
  • Cuando la consistencia no es necesaria
  • Escenarios de prueba o exploración

Ejemplo:

Entrada: "John Smith"
Ejecución 1: "Mark Johnson"
Ejecución 2: "Sarah Williams"
Ejecución 3: "Robert Davis"

Modo: Campo (Entidad + Campo)

Qué hace: Reutiliza transformaciones solo dentro de la misma combinación de entidad y campo.

Comportamiento:

  • Mismo valor en el mismo campo → mismo resultado
  • Mismo valor en diferente campo → diferente resultado
  • Mismo valor en diferente entidad → diferente resultado

Cuándo usar:

  • Cuando los campos deben tener transformaciones independientes
  • Cuando el mismo valor significa cosas diferentes en distintos campos
  • Pruebas de anonimización específica del campo

Ejemplo:

Clientes.Nombre "John" → "Mark"
Clientes.Nombre "John" → "Mark" (reutilizado)
Pedidos.Nombre "John" → "Sarah" (diferente campo)

Modo: Etiqueta (Predeterminado)

Qué hace: Reutiliza transformaciones para campos con la misma etiqueta, sin importar la entidad o el nombre del campo.

Comportamiento:

  • Mismo valor + misma etiqueta → mismo resultado
  • Funciona entre diferentes entidades
  • Funciona entre diferentes nombres de campo
  • Modo más común para consistencia de datos

Cuándo usar:

  • Manteniendo la integridad referencial
  • Cuando las etiquetas representan tipos de datos (configuradas durante descubrimiento)
  • Flujos de trabajo estándar de anonimización
  • Recomendado para la mayoría de los casos de uso

Ejemplo:

Clientes.Nombre [person/name] "John" → "Mark"
Empleados.NombreCompleto [person/name] "John" → "Mark" (misma etiqueta)
Pedidos.NombreCliente [person/name] "John" → "Mark" (misma etiqueta)

Modo: Global

Qué hace: Todas las transformaciones comparten un único diccionario a nivel del proyecto.

Comportamiento:

  • Mismo valor en cualquier lugar → mismo resultado
  • Máxima consistencia
  • Ámbito compartido único
  • Funciona en todas las entidades, campos y etiquetas

Cuándo usar:

  • Máxima integridad referencial
  • Cuando deseas que valores idénticos siempre se transformen de manera idéntica
  • Requisitos simples de consistencia global
  • Cuando la detección de etiquetas no es confiable (verifica la configuración de descubrimiento)

Ejemplo:

Clientes.Nombre "John" → "Mark"
Empleados.Nombre "John" → "Mark" (reutilización global)
Pedidos.Cliente "John" → "Mark" (reutilización global)
Facturas.Contacto "John" → "Mark" (reutilización global)

Cuándo y Por Qué Usar Diccionarios

Usa Diccionarios Cuando:

  1. Mantener la Integridad Referencial

    • Necesitas que la misma persona/empresa/identificador se mapee consistentemente entre múltiples tablas (configurado mediante esquema)
    • Las relaciones de claves foráneas deben preservarse
    • Las relaciones de datos importan para pruebas o análisis
  2. Anonimización Consistente Entre Trabajos

    • Ejecutas trabajos varias veces (usando pipelines)
    • Deseas resultados deterministas
    • Necesitas comparar resultados con el tiempo
  3. Consistencia Entre Bases de Datos

    • Los mismos datos aparecen en múltiples bases de datos (configurado mediante destinos)
    • Necesitas anonimización consistente en todas las fuentes
    • Migraciones entre entornos
  4. Datos de Prueba Realistas

    • Los datos generados deben parecer realistas
    • Las relaciones deben tener sentido
    • La consistencia mejora la calidad de los datos
  5. Cumplimiento y Auditoría

    • Patrones de anonimización rastreables
    • Transformaciones reproducibles
    • Registro de auditoría de transformaciones

No Uses Diccionarios Cuando:

  1. Se Necesita Máxima Aleatorización

    • Pruebas de seguridad
    • Escenarios críticos para la privacidad
    • Cuando la unicidad es más importante que la consistencia
  2. Transformaciones Únicas

    • Exportaciones de datos de un solo uso
    • No se necesita reutilización futura
    • Entornos de prueba desechables
  3. Diferentes Contextos Requieren Valores Diferentes

    • Cuando "John" en la tabla de Clientes debe ser diferente de "John" en la tabla de Empleados
    • Anonimización dependiente del contexto
    • Requisitos específicos de privacidad por campo

Estrategias para Usar Diccionarios en Gigantics

Estrategia 1: Consistencia Basada en Etiquetas (Recomendado)

Mejor para: La mayoría de los flujos de trabajo de anonimización estándar

Configuración:

  1. Configura la regla con Modo del Diccionario: Etiqueta
  2. Asegúrate de que los campos estén correctamente etiquetados (person/name, email, phone, etc.)
  3. Activa "Almacenar nuevas transformaciones en el diccionario"
  4. Activa "Caché del diccionario" para rendimiento

Beneficios:

  • Consistencia automática entre tipos de datos relacionados
  • Funciona entre múltiples entidades
  • Mantiene la integridad referencial
  • Fácil de configurar

Ejemplo de Flujo de Trabajo:

1. Ejecutar descubrimiento para etiquetar campos
2. Crear regla con diccionario en modo Etiqueta
3. Ejecutar trabajo - transformaciones almacenadas por etiqueta
4. Trabajos futuros reutilizan automáticamente las transformaciones almacenadas

Estrategia 2: Construcción Progresiva del Diccionario

Mejor para: Desarrollo iterativo y refinamiento

Configuración:

  1. Comienza con "Almacenar nuevas transformaciones" activado
  2. Ejecuta un trabajo inicial con una muestra más pequeña
  3. Revisa las entradas del diccionario
  4. Exporta el diccionario para hacer una copia de seguridad
  5. Ejecuta el trabajo completo - el diccionario ya contiene entradas parciales

Beneficios:

  • Construye consistencia con el tiempo
  • Prueba primero con conjuntos de datos más pequeños
  • Puede refinar e importar de nuevo el diccionario
  • Enfoque incremental

Flujo de Trabajo:

1. Tomar una muestra de 1000 registros → construir diccionario inicial
2. Exportar diccionario
3. Importar al nuevo trabajo
4. Ejecutar [conjunto de datos](/es/model/datasets) completo → valores parciales ya consistentes
5. Nuevos valores se añaden al diccionario existente

Estrategia 3: Diccionarios Específicos por Ámbito

Mejor para: Proyectos complejos con diferentes requisitos de consistencia

Configuración:

  1. Usa el modo Ámbito definido por el usuario para campos específicos
  2. Define ámbitos personalizados (por ejemplo, "identificadores-del-cliente", "datos-financieros")
  3. Agrupa campos relacionados bajo el mismo ámbito
  4. Diferentes ámbitos mantienen diccionarios separados

Beneficios:

  • Control detallado
  • Reglas de consistencia diferentes por tipo de datos
  • Agrupación flexible
  • Se puede exportar/importar ámbitos específicos

Ejemplo:

Ámbito: "identificadores-del-cliente"
- Nombre del Cliente → "Mark Johnson"
- Contacto de Facturación → "Mark Johnson" (mismo ámbito)

Ámbito: "datos-del-empleado"
- Nombre del Empleado → "Sarah Williams"
- Nombre del Gerente → "Sarah Williams" (mismo ámbito)

Sin consistencia entre ámbitos

Estrategia 4: Pipeline con Reutilización del Diccionario

Mejor para: Trabajos programados y automatización

Configuración:

  1. Configura el pipeline con la configuración del diccionario
  2. Activa "Almacenar nuevas transformaciones"
  3. Desactiva "Sobrescribir diccionario existente"
  4. Programa el pipeline para ejecutarse regularmente

Beneficios:

  • El diccionario crece con el tiempo
  • Consistencia entre ejecuciones programadas
  • Consistencia automatizada
  • Se puede exportar el diccionario entre ejecuciones

Flujo de Trabajo:

Configuración del [Pipeline](/es/model/pipelines):

- Modo del Diccionario: Etiqueta
- Almacenar nuevo: ?
- Sobrescribir: ?
- Caché: ?

Ejecuciones Programadas:

- Ejecución 1: Procesa 10K registros, construye el diccionario
- Ejecución 2: Procesa nuevos 5K registros, reutiliza existentes + añade nuevos
- Ejecución 3: Máxima reutilización, mínimas entradas nuevas

Estrategia 5: Flujo de Trabajo de Importación/Exportación del Diccionario

Mejor para: Implementación en múltiples entornos y migración

Configuración:

  1. Desarrolla el diccionario en el entorno de desarrollo
  2. Exporta el diccionario después de las pruebas
  3. Importa el diccionario a staging/producción
  4. Usa el mismo diccionario en todos los entornos
  5. Usa el mismo secreto del diccionario en todos los entornos

Beneficios:

  • Anonimización consistente entre entornos
  • Se puede probar el diccionario antes de producción
  • Implementaciones reproducibles
  • Capacidad de copia de seguridad y restauración

Flujo de Trabajo:

Desarrollo:
1. Construye y prueba el diccionario
2. Exporta diccionario.json

Staging:
3. Importa diccionario.json
4. Verifica la consistencia
5. Ejecuta pruebas

Producción:
6. Importa el mismo diccionario.json
7. Ejecuta el trabajo con el diccionario preconstruido
8. Exporta para copia de seguridad

Estrategia 6: Anulaciones a Nivel de Campo

Mejor para: Combinar consistencia y aleatoriedad

Configuración:

  1. A nivel de regla: Modo del Diccionario: Etiqueta (predeterminado)
  2. La mayoría de los campos: Heredar de la regla
  3. Campos específicos: Anular con "Omitir diccionario" o modo diferente

Beneficios:

  • Consistencia predeterminada para la mayoría de los campos
  • Control específico para campos sensibles
  • Configuración flexible por campo
  • Lo mejor de ambos mundos

Ejemplo:

[Regla](/es/model/rules) Predeterminada: Modo Etiqueta

Campos:
- Nombre del Cliente: Heredar → Modo Etiqueta (consistente)
- Email: Heredar → Modo Etiqueta (consistente)
- SSN: Omitir diccionario → Único por fila (aleatorio)
- Número de Cuenta: Modo Entidad/Campo → Específico del campo

Estrategia 7: Estrategia de Manejo de Nulos

Mejor para: Conjuntos de datos con muchos valores nulos

Configuración:

  1. Activa "Manejo de nulos" en las opciones del diccionario
  2. Los nulos se transformarán consistentemente
  3. Útil para mantener patrones de datos

Beneficios:

  • Anonimización consistente de valores nulos
  • Preserva patrones de nulos en los datos
  • Puede transformar nulos en un marcador consistente

Ejemplo:

Sin manejo de nulos:
NULL → (varía: "", "N/A", "Unknown", null)

Con manejo de nulos:
NULL → "Anónimo" (consistente)

Mejores Prácticas

1. Comienza con el Modo Etiqueta

  • Es el modo más versátil y útil
  • Funciona automáticamente con etiquetas del descubrimiento
  • Proporciona un buen equilibrio entre consistencia y flexibilidad

2. Activa el Caché para el Rendimiento

  • La opción de caché del diccionario mejora la velocidad de búsqueda
  • Especialmente importante para diccionarios grandes
  • Usa memoria pero es significativamente más rápido

3. Almacena las Transformaciones para Reutilizarlas

  • Activa "Almacenar nuevas transformaciones" a menos que necesites trabajos únicos
  • Construye el diccionario con el tiempo
  • Permite consistencia entre ejecuciones de trabajos

4. Exporta Regularmente

  • Exporta el diccionario como copia de seguridad
  • Exporta antes de cambios importantes
  • Exporta para migración entre entornos

5. Usa la Granularidad del Ámbito Apropiada

  • Demasiado amplio (Global): Puede causar consistencia no deseada
  • Demasiado estrecho (Campo): Puede perder relaciones
  • Justo (Etiqueta): Equilibra consistencia y flexibilidad

6. Monitorea el Tamaño del Diccionario

  • Los diccionarios grandes pueden impactar el rendimiento
  • Usa Gestionar ámbitos para ver el número de entradas de cada ámbito
  • Considera exportaciones específicas por ámbito si es demasiado grande

7. Prueba Antes de Producción

  • Construye el diccionario en desarrollo
  • Prueba con conjuntos de datos de muestra
  • Exporta e importa a staging (mediante destinos)
  • Verifica la consistencia

8. Documenta Ámbitos Personalizados

  • Documenta los ámbitos definidos por el usuario
  • Mantén la nomenclatura del ámbito consistente
  • Documenta por qué ciertos campos usan ámbitos personalizados

Casos de Uso Comunes

Caso de Uso 1: Anonimización de Base de Datos de Clientes

Escenario: Anonimiza datos de clientes manteniendo las relaciones

Configuración:

  • Modo del Diccionario: Etiqueta
  • Almacenar nuevas transformaciones: Sí
  • Caché del diccionario: Sí

Resultado:

  • Cliente "John Smith" → "Mark Johnson" en todas partes
  • Email "john@example.com" → "mark@email.com" en todas partes
  • Relaciones preservadas entre tablas

Caso de Uso 2: Consistencia en Múltiples Bases de Datos

Escenario: Mismos datos en múltiples bases de datos, se necesita anonimización consistente

Configuración:

  • Modo del Diccionario: Global
  • Almacenar nuevas transformaciones: Sí
  • Exportar el diccionario después de la primera ejecución
  • Importar en trabajos de bases de datos posteriores

Resultado:

  • Anonimización idéntica en todas las bases de datos
  • Se puede compartir el diccionario entre proyectos

Caso de Uso 3: Procesamiento de Datos Incremental

Escenario: Procesar nuevos datos periódicamente, mantener consistencia con datos históricos

Configuración:

  • Modo del Diccionario: Etiqueta
  • Almacenar nuevas transformaciones: Sí
  • Sobrescribir existente: No
  • Ejecutar pipeline en programación

Resultado:

  • Los nuevos datos usan el diccionario existente
  • Nuevas entradas se añaden al diccionario
  • Crecimiento de la consistencia con el tiempo

Caso de Uso 4: Consistencia Selectiva

Escenario: Algunos campos necesitan consistencia, otros aleatoriedad

Configuración:

  • Regla Predeterminada: Modo Etiqueta
  • Campos específicos: Omitir diccionario o Modo Campo

Resultado:

  • Campos importantes: Consistentes
  • Campos sensibles: Aleatorios
  • Control flexible por campo

Solución de Problemas

El Diccionario No Funciona

Problema: Las transformaciones son diferentes en cada ejecución

Soluciones:

  1. Comprobar que el modo del diccionario no sea "Ninguno"
  2. Verificar que "Almacenar nuevas transformaciones" esté activado
  3. Comprobar si "Sobrescribir existente" está limpiando el diccionario
  4. Asegurarse de que el caché esté activado para el rendimiento

Problemas de Rendimiento

Problema: El trabajo se ejecuta lentamente con el diccionario activado

Soluciones:

  1. Activar la opción "Caché del diccionario"
  2. Comprobar el tamaño del diccionario - puede ser necesario limpiar entradas antiguas
  3. Considerar diccionarios específicos por ámbito
  4. Comprobar el número de entradas de cada ámbito en Gestionar ámbitos

Resultados Inconsistentes

Problema: El mismo valor se transforma de manera diferente

Soluciones:

  1. Comprobar si se está usando el modo correcto del diccionario
  2. Verificar que las etiquetas sean consistentes entre campos (comprobar resultados del descubrimiento)
  3. Comprobar si hay anulaciones a nivel de campo en la configuración de la regla
  4. Revisar la configuración del ámbito

El Secreto del Diccionario Ha Cambiado

Problema: Los jobs fallan con The dictionary secret has changed since this project dictionary was created

Soluciones:

  1. Restaurar el secreto del diccionario anterior (variable de entorno, entrada de configuración o archivo dictionary.secret)
  2. Si no se puede recuperar, limpiar el diccionario: las entradas existentes no se pueden usar con el nuevo secreto

Faltan Entradas Después de Limpiar el Diccionario

Problema: Un job ha terminado pero sus nuevas entradas no están en el diccionario

Soluciones:

  1. Revisar el log del job: si el diccionario se limpió o se sobrescribió mientras el job estaba en marcha, sus entradas no se guardan
  2. Volver a ejecutar el job para almacenarlas

Diccionario Demasiado Grande

Problema: El diccionario tiene demasiadas entradas

Soluciones:

  1. Usar Gestionar ámbitos para identificar ámbitos grandes
  2. Exportar solo ámbitos específicos
  3. Limpiar el diccionario y reconstruir si es necesario, o eliminar las entradas de un job con Borrar por job
  4. Considerar dividirlo en múltiples ámbitos

Resumen

Los diccionarios son una característica poderosa en Gigantics que permiten:

  • Anonimización consistente entre trabajos y bases de datos
  • Preservación de la integridad referencial
  • Configuración flexible desde global hasta nivel de campo
  • Importación/Exportación para copia de seguridad y migración
  • Optimización del rendimiento mediante caché
  • Control detallado a través de modos y ámbitos

Comienza con modo Etiqueta para la mayoría de escenarios, activa caché y almacenamiento para mejores resultados, y usa exportar/importar para flujos de trabajo de copia de seguridad y migración.

Tabla de Contenidos

Diccionario¿Qué es un Diccionario?Por qué Importan los DiccionariosDónde se Usan los Diccionarios en Gigantics1. Página de Diccionario del Proyecto2. Configuración de Reglas3. Transformaciones a Nivel de Campo4. Configuración de PipelineComponentes de la Interfaz de Usuario del DiccionarioPágina Principal del DiccionarioBorrar por JobPanel Gestionar ÁmbitosModal de Importación del DiccionarioModal de Exportación del DiccionarioConfiguración de Reglas - Opciones del DiccionarioDetectar Valores Ya AnonimizadosConfiguración del Diccionario a Nivel de CampoClaves del Diccionario y SeguridadCambiar el Diccionario con Jobs en MarchaModos del Diccionario ExplicadosModo: Ninguno (Desactivado)Modo: Campo (Entidad + Campo)Modo: Etiqueta (Predeterminado)Modo: GlobalCuándo y Por Qué Usar DiccionariosUsa Diccionarios Cuando:No Uses Diccionarios Cuando:Estrategias para Usar Diccionarios en GiganticsEstrategia 1: Consistencia Basada en Etiquetas (Recomendado)Estrategia 2: Construcción Progresiva del DiccionarioEstrategia 3: Diccionarios Específicos por ÁmbitoEstrategia 4: Pipeline con Reutilización del DiccionarioEstrategia 5: Flujo de Trabajo de Importación/Exportación del DiccionarioEstrategia 6: Anulaciones a Nivel de CampoEstrategia 7: Estrategia de Manejo de NulosMejores Prácticas1. Comienza con el Modo Etiqueta2. Activa el Caché para el Rendimiento3. Almacena las Transformaciones para Reutilizarlas4. Exporta Regularmente5. Usa la Granularidad del Ámbito Apropiada6. Monitorea el Tamaño del Diccionario7. Prueba Antes de Producción8. Documenta Ámbitos PersonalizadosCasos de Uso ComunesCaso de Uso 1: Anonimización de Base de Datos de ClientesCaso de Uso 2: Consistencia en Múltiples Bases de DatosCaso de Uso 3: Procesamiento de Datos IncrementalCaso de Uso 4: Consistencia SelectivaSolución de ProblemasEl Diccionario No FuncionaProblemas de RendimientoResultados InconsistentesEl Secreto del Diccionario Ha CambiadoFaltan Entradas Después de Limpiar el DiccionarioDiccionario Demasiado GrandeResumen