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] → DiccionarioAquí 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 → DiccionarioAquí 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 → DiccionarioCada 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 DiccionarioLos 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:
| Columna | Contenido |
|---|---|
| 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 Valor | El 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) |
| Job | El 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ón | Icono | Función | Cuándo Usar |
|---|---|---|---|
| Gestionar ámbitos | Engranaje | Lista los ámbitos con su número de entradas y combina ámbitos en otro | Para tener una visión general del diccionario o unir ámbitos que deben compartir sus valores |
| Exportar | Exportar | Descarga el diccionario como CSV o JSON | Para hacer copia de seguridad o migrar el diccionario |
| Importar | Importar | Carga el diccionario desde un archivo | Para restaurar o fusionar diccionarios |
| Más → Borrar por job | Eliminar | Elimina las entradas guardadas por un job | Para deshacer lo que guardó un job, sin perder el resto del diccionario |
| Más → Borrar diccionario | Limpiar | Elimina todas las entradas | Para 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.
- Abre Más y selecciona Borrar por job.
- 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).
- 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. - 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.
Modal de Importación del Diccionario
┌─────────────────────────────────────────────┐
│ 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ón | Descripción | Caso de Uso |
|---|---|---|
| Agregar | Añade nuevas entradas, actualiza claves coincidentes | Fusionar diccionarios o actualizar entradas específicas |
| Sobrescribir | Reemplaza el diccionario entero | Restaurar 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
Modal de Exportación del 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ón | Descripción | Cuándo Usar |
|---|---|---|
| Diccionario Completo | Exporta todas las entradas | Copia de seguridad completa o migración |
| Seleccionar Ámbito | Exporta ámbitos específicos | Copia de seguridad parcial o análisis específico del ámbito |
| Formato CSV | Valores separados por comas | Análisis en hojas de cálculo o herramientas externas |
| Formato JSON | Estructura JSON | Uso 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ón | Descripción | Impacto |
|---|---|---|
| Modo: Ninguno | Desactiva el uso del diccionario | Máxima aleatoriedad, sin consistencia |
| Modo: Campo | Reutiliza por combinación entidad+campo | Valores diferentes en diferentes campos |
| Modo: Etiqueta | Reutiliza por tipo de etiqueta | Consistente en los mismos tipos de datos |
| Modo: Global | Reutiliza en todas partes | Máxima consistencia, ámbito único |
| Caché del diccionario | Almacena en memoria para acceso más rápido | Mejor rendimiento, usa más memoria |
| Almacenar nuevas transformaciones | Guarda nuevas transformaciones para uso futuro | El diccionario crece, permite reutilización entre trabajos |
| Sobrescribir existente | Limpia el diccionario antes de iniciar el trabajo | Comienza 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ón | Descripción | Ejemplo de Caso de Uso |
|---|---|---|
| Heredar de la regla | Usa la configuración del diccionario del nivel de la regla | Comportamiento predeterminado, consistente con la regla |
| Omitir diccionario | Omite el diccionario para este campo | Máxima aleatoriedad para campos sensibles |
| Ámbito de Etiqueta | Usa la etiqueta del campo para el ámbito | Consistencia estándar dentro del tipo de datos |
| Ámbito de Nombre de Campo | Usa el nombre del campo entre entidades | Consistente para campos con el mismo nombre |
| Entidad/Ámbito de Campo | Ámbito específico del campo | Valores diferentes por campo |
| Ámbito Global | Consistencia en todo el proyecto | Máxima consistencia |
| Ámbito Definido por el Usuario | Nombre de ámbito personalizado | Lógica de agrupación personalizada |
| Reemplazar Etiqueta | Anula la detección automática de etiquetas | Tratar el campo como un tipo diferente |
| Ámbito | Identificador de ámbito personalizado | Agrupación personalizada cuando se usa definido por el usuario |
| Con opciones | Incluye las opciones de la función en la clave | Diferentes transformaciones para el mismo valor con diferentes parámetros |
| Manejo de nulos | Almacena y reutiliza transformaciones nulas | Manejo 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:
-
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
-
Anonimización Consistente Entre Trabajos
- Ejecutas trabajos varias veces (usando pipelines)
- Deseas resultados deterministas
- Necesitas comparar resultados con el tiempo
-
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
-
Datos de Prueba Realistas
- Los datos generados deben parecer realistas
- Las relaciones deben tener sentido
- La consistencia mejora la calidad de los datos
-
Cumplimiento y Auditoría
- Patrones de anonimización rastreables
- Transformaciones reproducibles
- Registro de auditoría de transformaciones
No Uses Diccionarios Cuando:
-
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
-
Transformaciones Únicas
- Exportaciones de datos de un solo uso
- No se necesita reutilización futura
- Entornos de prueba desechables
-
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:
- Configura la regla con Modo del Diccionario: Etiqueta
- Asegúrate de que los campos estén correctamente etiquetados (person/name, email, phone, etc.)
- Activa "Almacenar nuevas transformaciones en el diccionario"
- 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 almacenadasEstrategia 2: Construcción Progresiva del Diccionario
Mejor para: Desarrollo iterativo y refinamiento
Configuración:
- Comienza con "Almacenar nuevas transformaciones" activado
- Ejecuta un trabajo inicial con una muestra más pequeña
- Revisa las entradas del diccionario
- Exporta el diccionario para hacer una copia de seguridad
- 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 existenteEstrategia 3: Diccionarios Específicos por Ámbito
Mejor para: Proyectos complejos con diferentes requisitos de consistencia
Configuración:
- Usa el modo Ámbito definido por el usuario para campos específicos
- Define ámbitos personalizados (por ejemplo, "identificadores-del-cliente", "datos-financieros")
- Agrupa campos relacionados bajo el mismo ámbito
- 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 ámbitosEstrategia 4: Pipeline con Reutilización del Diccionario
Mejor para: Trabajos programados y automatización
Configuración:
- Configura el pipeline con la configuración del diccionario
- Activa "Almacenar nuevas transformaciones"
- Desactiva "Sobrescribir diccionario existente"
- 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 nuevasEstrategia 5: Flujo de Trabajo de Importación/Exportación del Diccionario
Mejor para: Implementación en múltiples entornos y migración
Configuración:
- Desarrolla el diccionario en el entorno de desarrollo
- Exporta el diccionario después de las pruebas
- Importa el diccionario a staging/producción
- Usa el mismo diccionario en todos los entornos
- 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 seguridadEstrategia 6: Anulaciones a Nivel de Campo
Mejor para: Combinar consistencia y aleatoriedad
Configuración:
- A nivel de regla: Modo del Diccionario: Etiqueta (predeterminado)
- La mayoría de los campos: Heredar de la regla
- 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 campoEstrategia 7: Estrategia de Manejo de Nulos
Mejor para: Conjuntos de datos con muchos valores nulos
Configuración:
- Activa "Manejo de nulos" en las opciones del diccionario
- Los nulos se transformarán consistentemente
- Ú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:
- Comprobar que el modo del diccionario no sea "Ninguno"
- Verificar que "Almacenar nuevas transformaciones" esté activado
- Comprobar si "Sobrescribir existente" está limpiando el diccionario
- Asegurarse de que el caché esté activado para el rendimiento
Problemas de Rendimiento
Problema: El trabajo se ejecuta lentamente con el diccionario activado
Soluciones:
- Activar la opción "Caché del diccionario"
- Comprobar el tamaño del diccionario - puede ser necesario limpiar entradas antiguas
- Considerar diccionarios específicos por ámbito
- Comprobar el número de entradas de cada ámbito en Gestionar ámbitos
Resultados Inconsistentes
Problema: El mismo valor se transforma de manera diferente
Soluciones:
- Comprobar si se está usando el modo correcto del diccionario
- Verificar que las etiquetas sean consistentes entre campos (comprobar resultados del descubrimiento)
- Comprobar si hay anulaciones a nivel de campo en la configuración de la regla
- 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:
- Restaurar el secreto del diccionario anterior (variable de entorno, entrada de configuración o archivo
dictionary.secret) - 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:
- Revisar el log del job: si el diccionario se limpió o se sobrescribió mientras el job estaba en marcha, sus entradas no se guardan
- Volver a ejecutar el job para almacenarlas
Diccionario Demasiado Grande
Problema: El diccionario tiene demasiadas entradas
Soluciones:
- Usar Gestionar ámbitos para identificar ámbitos grandes
- Exportar solo ámbitos específicos
- Limpiar el diccionario y reconstruir si es necesario, o eliminar las entradas de un job con Borrar por job
- 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.