Este documento describe las recomendaciones clave al diseñar el modelo de datos de Adobe Campaign.
Para comprender mejor las tablas integradas de Campaign y su interacción, consulte esta sección para obtener más información.
Leer esta documentación para empezar a utilizar los esquemas de Campaign. Obtenga información sobre cómo configurar esquemas de extensión para ampliar el modelo de datos conceptuales de la base de datos de Adobe Campaign en este documento.
El sistema Adobe Campaign es extremadamente flexible y se puede ampliar más allá de la implementación inicial. Sin embargo, aunque las posibilidades son infinitas, es fundamental tomar decisiones sabias y construir bases sólidas para empezar a diseñar su modelo de datos.
Este documento proporciona casos de uso comunes y prácticas recomendadas para aprender a diseñar correctamente la herramienta Adobe Campaign.
Adobe Campaign es un potente sistema de administración de campañas en canales múltiples que puede ayudarle a alinear sus estrategias en línea y sin conexión para crear experiencias personalizadas con los clientes.
Aunque la mayoría de los proveedores de servicios de correo electrónico se comunican a los clientes mediante un enfoque centrado en la lista, Adobe Campaign depende de una base de datos relacional para aprovechar una vista más amplia de los clientes y sus atributos.
Este enfoque centrado en el cliente se muestra en el gráfico siguiente. La variable Destinatario representa la tabla de cliente principal en torno a la cual se está creando todo:
Para acceder a la descripción de cada tabla, vaya a Admin > Configuration > Data schemas, seleccione un recurso de la lista y haga clic en el botón Documentation pestaña .
El modelo de datos predeterminado de Adobe Campaign se muestra en este documento.
Adobe Campaign Classic permite crear una tabla de cliente personalizada. Sin embargo, en la mayoría de los casos, se recomienda aprovechar el Tabla de destinatarios que ya tiene tablas y funciones adicionales prediseñadas.
¿Qué datos se deben enviar a Adobe Campaign? Es fundamental determinar los datos necesarios para sus actividades de marketing.
Adobe Campaign no es ni un almacén de datos ni una herramienta de creación de informes. Por lo tanto, no intente importar todos los clientes posibles y su información asociada en Adobe Campaign ni importe los datos que solo se utilizarán para generar informes.
Para tomar la decisión de si un atributo sería necesario o no en Adobe Campaign, pregúntese si correspondería a una de estas categorías:
Si no se incluye en ninguno de estos parámetros, lo más probable es que no necesite este atributo en Adobe Campaign.
Para garantizar una buena arquitectura y un buen rendimiento de su sistema, siga las prácticas recomendadas a continuación para configurar los datos en Adobe Campaign.
Un campo debe almacenarse en una tabla si tiene un propósito de objetivo o personalización. En otras palabras, si un campo no se utiliza para enviar un correo electrónico personalizado o se utiliza como criterio en una consulta, ocupa espacio en disco, mientras que es inútil.
Para instancias híbridas y locales, FDA (Acceso de Datos Federados, una función opcional que permite acceder a datos externos) cubre la necesidad de agregar un campo "sobre la marcha" durante un proceso de campaña. No es necesario importar todo si tiene FDA. Para obtener más información, consulte Acerca del acceso de datos federado.
Además del autopk definido de forma predeterminada en la mayoría de las tablas, debe considerar la posibilidad de agregar algunas claves lógicas o empresariales (número de cuenta, número de cliente, etc.). Se puede utilizar más adelante para importar/reconciliación o paquetes de datos. Para obtener más información, consulte Identificadores.
Las claves eficientes son esenciales para el rendimiento. Siempre debe preferirse los tipos de datos numéricos como claves para las tablas.
Para la base de datos SQLServer, puede considerar la posibilidad de utilizar "índice agrupado" si se necesita rendimiento. Como Adobe no gestiona esto, debe crearlo en SQL.
El atributo tablespace del esquema permite especificar un tablespace dedicado para una tabla.
El asistente de instalación le permite almacenar objetos por tipo (datos, temporales e índice).
Los tablespaces dedicados son mejores para la partición, las reglas de seguridad y permiten una administración flexible y fluida, una mejor optimización y un mejor rendimiento.
Los recursos de Adobe Campaign tienen tres identificadores y es posible añadir un identificador adicional.
En la tabla siguiente se describen estos identificadores y su finalidad.
Identifier | Descripción | Prácticas recomendadas |
---|---|---|
Identificación |
|
|
Nombre (o nombre interno) |
|
|
Etiqueta |
|
|
Se requieren claves principales para cada tabla creada en Adobe Campaign.
La mayoría de las organizaciones están importando registros de sistemas externos. Aunque la clave física de la tabla de destinatarios es el atributo "id", también es posible determinar una clave personalizada.
Esta clave personalizada es la clave principal del registro real en el sistema externo que alimenta a Adobe Campaign.
Cuando una tabla predeterminada tiene una autopk y una clave interna, la clave interna se definirá como un índice único en la tabla de la base de datos física.
Al crear una tabla personalizada, tiene dos opciones:
Una autopk no debe utilizarse como referencia en flujos de trabajo.
La clave principal de Adobe Campaign es un ID generado automáticamente para todas las tablas integradas y puede ser la misma para las tablas personalizadas. Para obtener más información, consulte esta sección.
Este valor se toma de lo que se denomina una Secuencia, que es un objeto de base de datos que se utiliza para generar una secuencia numérica.
Existen dos tipos de secuencias:
La secuencia es un valor entero de 32 bits, con un número máximo finito de valores disponibles: 2 140 millones. Después de alcanzar el valor máximo, la secuencia vuelve a 0 para reciclar los id.
Si no se han purgado los datos antiguos, el resultado será una infracción de clave única, que se convierte en un bloqueador del estado y el uso de la plataforma. Adobe Campaign no podría enviar comunicaciones (cuando afecta a la tabla del registro de entregas) y el rendimiento se vería muy afectado.
Por lo tanto, un cliente que envía 6.000 millones de correos electrónicos anualmente con un período de retención de 180 días para sus registros se quedaría sin id en 4 meses. Para evitar este desafío, asegúrese de tener la configuración de depuración según sus volúmenes. Para obtener más información, consulte esta sección.
Cuando se crea una tabla personalizada en Adobe Campaign con una clave principal como autoPK, se debe asociar sistemáticamente una secuencia dedicada personalizada con esa tabla.
De forma predeterminada, una secuencia personalizada tendrá valores que oscilarán entre +1000 y +2,1BB. Técnicamente, es posible obtener una gama completa de 4BB habilitando identificadores negativos. Debe usarse con cuidado y se perderá un id al pasar de números negativos a positivos: Adobe Campaign suele ignorar el registro 0 en las consultas SQL generadas.
Para obtener más información sobre el agotamiento de las secuencias, consulte este vídeo.
Los índices son esenciales para el rendimiento. Cuando se declara una clave en el esquema, Adobe crea automáticamente un índice en los campos de la clave. También puede declarar más índices para las consultas que no utilicen la clave.
Adobe recomienda definir índices adicionales, ya que puede mejorar el rendimiento.
Sin embargo, tenga en cuenta lo siguiente:
La administración de índices puede resultar muy compleja, por lo que es importante comprender cómo funcionan. Para ilustrar esta complejidad, tomemos un ejemplo básico, como buscar destinatarios filtrando el nombre y los apellidos. Para ello, haga lo siguiente:
Vaya a la carpeta que enumera todos los destinatarios de la base de datos. Para obtener más información, consulte Administración de perfiles.
Haga clic con el botón derecho en el First name campo .
Seleccione Filter on this field.
Repita esta operación para el Last name campo .
Los dos filtros correspondientes se añaden en la parte superior de la pantalla.
Ahora puede realizar el filtrado de búsqueda en el First name y Last name campos según las distintas condiciones de filtro.
Ahora, para acelerar la búsqueda en estos filtros, puede agregar índices. Pero, ¿qué índices se deben utilizar?
Este ejemplo se aplica a los clientes alojados que utilizan una base de datos PostgreSQL.
La siguiente tabla muestra en qué casos se utilizan o no los tres índices descritos a continuación según el patrón de acceso mostrado en la primera columna.
Criterios de búsqueda | Índice 1 (Nombre + Apellido) | Índice 2 (solo nombre) | Índice 3 (solo apellidos) | Comentarios |
---|---|---|---|---|
El nombre es igual a "Johnny" | Utilizado | Utilizado | No se usa | Como el nombre está en primera posición en el índice 1, se utilizará de todos modos: no es necesario añadir un criterio en el apellido. |
El nombre es igual a "Johnny" Y el apellido es igual a "Smith" | Utilizado | No se usa | No se usa | Como ambos atributos se buscan en la misma consulta, solo se utilizará el índice que combina ambos atributos. |
Apellido igual a "Smith" | No se usa | No se usa | Utilizado | Se tiene en cuenta el orden de los atributos en el índice. Si no coincide con este orden, es posible que no se use el índice. |
El nombre empieza por "Joh" | Utilizado | Utilizado | No se usa | La opción "Búsqueda a la izquierda" habilitará índices. |
El nombre termina con "nny" | No se usa | No se usa | No se usa | La "búsqueda correcta" deshabilitará los índices y se realizará un análisis completo. Algunos tipos de índice específicos podrían gestionar este caso de uso, pero no están disponibles de forma predeterminada en Adobe Campaign. |
El nombre contiene "John" | No se usa | No se usa | No se usa | Es una combinación de búsquedas "izquierda" y "derecha". Debido a esto último, deshabilitará los índices y se realizará un análisis completo. |
El nombre es igual a "john" | No se usa | No se usa | No se usa | Los índices distinguen entre mayúsculas y minúsculas. Para que no distinga entre mayúsculas y minúsculas, debe crear un índice específico que incluya una función SQL como "upper(firstname)". Debe hacer lo mismo con otras transformaciones de datos como "unacento (nombre de pila)". |
Tenga cuidado con la integridad "propia" de las tablas grandes. La eliminación de registros que tienen tablas anchas con integridad "propia" puede detener la instancia. La tabla está bloqueada y las eliminaciones se realizan una por una. Así que es mejor usar integridad "neutral" en tablas secundarias que tienen grandes volúmenes.
Declarar un vínculo como una unión externa no es bueno para el rendimiento. El registro de id cero emula la funcionalidad de unión externa. No es necesario declarar uniones externas si el vínculo utiliza la autopk.
Aunque es posible unir cualquier tabla en un flujo de trabajo, Adobe recomienda definir vínculos comunes entre los recursos directamente en la definición de la estructura de datos.
El vínculo se debe definir en alineación con los datos reales de las tablas. Una definición incorrecta podría afectar a los datos recuperados mediante vínculos, por ejemplo, duplicando registros de forma inesperada.
Asigne un nombre al vínculo de forma coherente con el nombre de la tabla: el nombre del vínculo debería ayudar a comprender cuál es la tabla distante.
No asigne a un vínculo el nombre "id" como sufijo. Por ejemplo, asígnele el nombre "transaction" en lugar de "transactionId".
De forma predeterminada, Adobe Campaign crea un vínculo utilizando la clave principal de la tabla externa. Para una mayor claridad, es preferible definir explícitamente la unión en la definición del vínculo.
Se agregará un índice a los atributos utilizados en un vínculo.
Los vínculos creados por y modificados por última vez están presentes en muchas tablas. Es posible deshabilitar el índice utilizando el atributo noDbIndex en el vínculo, si la empresa no está utilizando esta información.
Al diseñar un vínculo, asegúrese de que el registro de destino sea único cuando se haya declarado una relación 1-1. De lo contrario, la unión puede devolver varios registros cuando solo se espera uno. Esto da como resultado errores durante la preparación del envío cuando "la consulta devuelve más filas de las esperadas". Establezca el nombre del vínculo en el mismo nombre que el esquema de destino.
Defina un vínculo con una cardinalidad (1-N) en el esquema del lado (1). Por ejemplo, la relación Recipient (1) - (N) Transaction debe definirse en el esquema de transacción.
Tenga en cuenta que la cardinalidad inversa de un vínculo es (N) de forma predeterminada. Es posible definir un vínculo (1-1) añadiendo el atributo revCardinality='single' a la definición del vínculo.
Si el vínculo inverso no debería ser visible para el usuario, puede ocultarlo con la definición del vínculo revLink='NINGUNO'. Un buen caso de uso para esto es definir un vínculo del destinatario a la última transacción completada, por ejemplo. Solo es necesario ver el vínculo del destinatario a la última transacción y no es necesario que el vínculo inverso esté visible desde la tabla de transacciones.
Los vínculos que realizan una unión externa (1-0.0.1) deben utilizarse con cuidado, ya que afectarán al rendimiento del sistema.
Adobe Campaign no es ni un almacén de datos ni una herramienta de creación de informes. Por lo tanto, para garantizar un buen rendimiento de la solución Adobe Campaign, el crecimiento de las bases de datos debe mantenerse bajo control. Para lograrlo, puede ser útil seguir algunas de las prácticas recomendadas a continuación.
De forma predeterminada, los registros de envío y seguimiento de Adobe Campaign tienen una duración de retención de 180 días. Se ejecuta un proceso de limpieza para eliminar cualquier registro anterior al anterior.
Obtenga más información sobre la retención de datos en Directrices de seguridad y privacidad de Campaign.
Descubra más información sobre el flujo de trabajo de limpieza de la base de datos de Campaign en esta sección.
Las tablas personalizadas no se depuran con el proceso de limpieza estándar. Aunque esto puede no ser necesario en el primer día, no olvide crear un proceso de depuración para las tablas personalizadas, ya que esto podría provocar problemas de rendimiento.
Existen varias soluciones para minimizar la necesidad de registros en Adobe Campaign:
Puede declarar el atributo "deleteStatus" en un esquema. Es más eficaz marcar el registro como eliminado y posponer la eliminación en la tarea de limpieza.
Para garantizar un mejor rendimiento en cualquier momento, siga las prácticas recomendadas a continuación.
Adobe Campaign se basa en motores de base de datos de terceros. Según el proveedor, la optimización del rendimiento para tablas más grandes puede requerir un diseño específico.
A continuación se describen algunas prácticas recomendadas comunes que deben seguirse al diseñar el modelo de datos con tablas grandes y uniones complejas.
El tamaño de la tabla es una combinación del número de registros y el número de columnas por registro. Ambos pueden afectar al rendimiento de las consultas.
En PostgreSQL, una fila no debe superar los 8 KB para evitar TOAST mecanismo. Por lo tanto, intente reducir en la medida de lo posible el número de columnas y el tamaño de cada fila para preservar el rendimiento óptimo del sistema (memoria y CPU).
El número de filas también afecta al rendimiento. La base de datos de Adobe Campaign no está diseñada para almacenar datos históricos que no se utilizan activamente con fines de segmentación o personalización; se trata de una base de datos operativa.
Para evitar cualquier problema de rendimiento relacionado con el alto número de filas, mantenga los registros necesarios en la base de datos. Cualquier otro registro debe exportarse a un almacén de datos de terceros y eliminarse de la base de datos operativa de Adobe Campaign.
Estas son algunas prácticas recomendadas con respecto al tamaño de las tablas:
Este es un ejemplo.
En este ejemplo: