Replicação de dados wf-data-replication
Princípio
No contexto de uma implantação corporativa (FFDA), a replicação de dados garante que os dois bancos de dados, o banco de dados local do Campaign (PostgreSQL) e o banco de dados da nuvem (Snowflake), estejam operacionais em paralelo e permaneçam sincronizados em tempo real.
O banco de dados na nuvem (Snowflake) é otimizado para manipular grandes lotes de dados, como a atualização de 1 milhão de endereços. Enquanto isso, o banco de dados local do Campaign (PostgreSQL) é mais adequado para operações individuais ou de pequeno volume, como a atualização de um único seed address. A sincronização ocorre de forma automática e transparente em segundo plano, garantindo que os dados no banco de dados local do Campaign (PostgreSQL) sejam duplicados no banco de dados da nuvem (Snowflake) em tempo real, mantendo ambos os bancos de dados sincronizados. A sincronização de dados envolve esquemas e tabelas, e dados.
➡️ Descubra como funciona a replicação de dados em vídeo
Modos de replicação modes
A replicação de dados pode ocorrer em diferentes modos, dependendo do caso de uso.
- A replicação instantânea lida com casos em que a duplicação em tempo real é essencial. Ele depende de threads técnicos específicos para replicar dados imediatamente para casos de uso como criação de uma difusão ou atualização de um seed address.
- A replicação agendada é usada quando a sincronização imediata não é necessária. A replicação agendada usa fluxos de trabalho técnicos específicos que são executados a cada hora para sincronizar dados, como regras de tipologia.
Políticas de replicação
As políticas de replicação definem quantos dados são replicados de uma tabela de banco de dados local do Campaign (PostgreSQL). Essas políticas dependem do tamanho da tabela e do caso de uso específico. Algumas tabelas terão atualizações incrementais quando outras serão totalmente replicadas. Há três tipos principais de políticas de replicação:
- XS: esta política é usada para tabelas com tamanhos relativamente pequenos. A tabela inteira é replicada de uma só vez. A replicação incremental evita replicar repetidamente os mesmos dados usando um ponteiro de carimbo de data e hora para replicar somente alterações recentes.
- SingleRow: esta diretiva replica apenas uma linha por vez. Normalmente, é usada para replicação instantânea envolvendo objetos atuais do Campaign e objetos relacionados.
- AlgumasLinhas: esta política foi criada para replicar um subconjunto limitado de dados usando definições ou filtros de consulta. Ele é usado para tabelas maiores em que a replicação seletiva é necessária.
Fluxos de trabalho de replicação workflows
O Campaign v8 depende de workflows técnicos específicos para gerenciar a replicação de dados agendada. Esses fluxos de trabalho técnicos estão disponíveis no nó Administration > Production > Technical workflows > Full FFDA Replication do explorador do Campaign. Eles não devem ser modificados.
Os workflows técnicos executam processos ou trabalhos, agendados regularmente no servidor. A lista completa de fluxos de trabalho técnicos está detalhada em esta página.
Os workflows técnicos que garantem a replicação de dados são os seguintes:
Se necessário, é possível iniciar a sincronização de dados manualmente. Para fazer isso, clique com o botão direito do mouse na atividade Scheduler e selecione Executar tarefa(s) pendente(s) agora.
Além do fluxo de trabalho técnico interno Replicar tabelas de referência, você pode forçar a replicação de dados em seus fluxos de trabalho usando um destes métodos
-
Adicione uma atividade JavaScript code específica com o seguinte código:
code language-none nms.replicationStrategy.StartReplicateStagingData("dem:sampleTable")
-
Adicione uma atividade nlmodule específica com o seguinte comando:
code language-none nlserver ffdaReplicateStaging -stagingSchema -instance:acc1
APIs
As APIs permitem a replicação de dados personalizados e prontos para uso do banco de dados local do Campaign (PostgreSQL) para o banco de dados da nuvem (Snowflake). Essas APIs permitem ignorar workflows predefinidos e personalizar a replicação para requisitos específicos, como a replicação de tabelas personalizadas.
Exemplo:
var dataSource = "nms:extAccount:ffda";
var xml = xtk.builder.CopyXxlData(
<params dataSource={dataSource} policy="xs">
<srcSchema name="cus:recipient"/>
</params>
);
Filas de replicação
Quando grandes volumes de solicitações de replicação ocorrem simultaneamente, podem ocorrer problemas de desempenho no banco de dados em nuvem (Snowflake) devido a bloqueios em nível de tabela durante operações MERGE. Para atenuar isso, os workflows de replicação centralizada agrupam solicitações em filas.
Cada fila é tratada por um workflow técnico, que gerencia a replicação de uma tabela específica, executando solicitações pendentes como uma única operação MESCLAR. Esses workflows são acionados a cada 20 segundos para processar novas solicitações de replicação:
nms:delivery
.nms:dlvExclusion
.nms:dlvRemoteIdRel
.Replicar fila nmsTrackingUrl em simultaneidade (ffdaReplicateQueueTrackingUrl_2)
nms:trackingUrl
, utilizando dois fluxos de trabalho para melhorar a eficiência, processando solicitações com base em prioridades diferentes.Tutorial video
Este vídeo apresenta os principais conceitos de quais bancos de dados o Adobe Campaign v8 usa, por que os dados estão sendo replicados, quais dados estão sendo replicados e como o processo de replicação funciona.
Os tutoriais adicionais do Console do Cliente do Campaign v8 estão disponíveis aqui.