Replica dei dati wf-data-replication
Principio
Nel contesto di una distribuzione di Enterprise (FFDA), la replica dei dati garantisce che i due database, il database locale di Campaign (PostgreSQL) e il database cloud (Snowflake), siano operativi in parallelo e rimangano sincronizzati in tempo reale.
Il database cloud (Snowflake) è ottimizzato per la gestione di batch di dati di grandi dimensioni, ad esempio per l'aggiornamento di 1 milione di indirizzi. Nel frattempo, il database locale di Campaign (PostgreSQL) è più adatto per operazioni singole o di volume ridotto, come l’aggiornamento di un singolo indirizzo di seed. La sincronizzazione viene eseguita in background in modo automatico e trasparente, garantendo la duplicazione in tempo reale dei dati nel database locale di Campaign (PostgreSQL) nel database cloud (Snowflake), mantenendo entrambi i database sincronizzati. La sincronizzazione dei dati coinvolge schemi, tabelle e dati.
➡️ Scopri come funziona la replica dei dati nel video
Modalità di replica modes
La replica dei dati può avvenire in modalità diverse a seconda del caso d’uso.
- Replica immediata gestisce i casi in cui la duplicazione in tempo reale è essenziale. Si basa su thread tecnici specifici per replicare immediatamente i dati per casi d’uso come la creazione di una diffusione o l’aggiornamento di un indirizzo seed.
- Viene utilizzata la replica pianificata quando non è richiesta la sincronizzazione immediata. La replica pianificata utilizza flussi di lavoro tecnici specifici che vengono eseguiti ogni ora per sincronizzare i dati, ad esempio le regole di tipologia.
Criteri di replica
I criteri di replica definiscono la quantità di dati replicati da una tabella del database locale di Campaign (PostgreSQL). Questi criteri dipendono dalle dimensioni della tabella e dal caso d’uso specifico. Alcune tabelle avranno aggiornamenti incrementali quando altre saranno completamente replicate. Esistono tre tipi principali di criteri di replica:
- XS: questo criterio viene utilizzato per tabelle di dimensioni relativamente piccole. L'intera tabella viene replicata in un'unica schermata. La replica incrementale evita di replicare ripetutamente gli stessi dati utilizzando un puntatore timestamp per replicare solo le modifiche recenti.
- RigaSingola: questo criterio replica una sola riga alla volta. Viene generalmente utilizzato per la replica immediata che coinvolge gli oggetti Campaign correnti e gli oggetti correlati.
- SomeRows: questo criterio è progettato per replicare un sottoinsieme limitato di dati utilizzando definizioni di query o filtri. Viene utilizzato per tabelle più grandi in cui è necessaria la replica selettiva.
Flussi di lavoro di replica workflows
Campaign v8 si basa su flussi di lavoro tecnici specifici per gestire la replica pianificata dei dati. Questi flussi di lavoro tecnici sono disponibili dal nodo Administration > Production > Technical workflows > Full FFDA Replication di Campaign Explorer. Non devono essere modificati.
I flussi di lavoro tecnici eseguono processi o processi, pianificati regolarmente sul server. L'elenco completo dei flussi di lavoro tecnici è descritto in questa pagina.
I flussi di lavoro tecnici che garantiscono la replica dei dati sono i seguenti:
Se necessario, puoi avviare manualmente la sincronizzazione dei dati. A tale scopo, fare clic con il pulsante destro del mouse sull'attività Scheduler e selezionare Esegui attività in sospeso ora.
Oltre al flusso di lavoro tecnico integrato Replica tabelle di riferimento, puoi forzare la replica dei dati nei flussi di lavoro utilizzando uno di questi metodi
-
Aggiungi un'attività Codice JavaScript specifica con il codice seguente:
code language-none nms.replicationStrategy.StartReplicateStagingData("dem:sampleTable")
-
Aggiungi un'attività nlmodule specifica con il comando seguente:
code language-none nlserver ffdaReplicateStaging -stagingSchema -instance:acc1
API
Le API consentono la replica di dati personalizzati e predefiniti dal database locale di Campaign (PostgreSQL) al database cloud (Snowflake). Queste API ti consentono di ignorare flussi di lavoro predefiniti e personalizzare la replica per requisiti specifici, ad esempio la replica di tabelle personalizzate.
Esempio:
var dataSource = "nms:extAccount:ffda";
var xml = xtk.builder.CopyXxlData(
<params dataSource={dataSource} policy="xs">
<srcSchema name="cus:recipient"/>
</params>
);
Code di replica
Quando si verificano contemporaneamente elevati volumi di richieste di replica, è possibile che si verifichino problemi di prestazioni nel database cloud (Snowflake) a causa di blocchi a livello di tabella durante le operazioni MERGE. Per ovviare a questo problema, i flussi di lavoro di replica centralizzati raggruppano le richieste in code.
Ogni coda viene gestita da un flusso di lavoro tecnico, che gestisce la replica per una tabella specifica, eseguendo richieste in sospeso come una singola operazione MERGE. Questi flussi di lavoro vengono attivati ogni 20 secondi per elaborare nuove richieste di replica:
nms:delivery
.nms:dlvExclusion
.nms:dlvRemoteIdRel
.Replica coda nmsTrackingUrl in concorrenza (ffdaReplicateQueueTrackingUrl_2)
nms:trackingUrl
, utilizzando due flussi di lavoro per migliorare l'efficienza elaborando le richieste in base a priorità diverse.Tutorial video
Questo video illustra i concetti chiave dei database utilizzati da Adobe Campaign v8, il motivo per cui i dati vengono replicati, quali dati vengono replicati e come funziona il processo di replica.
Ulteriori tutorial sulla console client di Campaign v8 sono disponibili qui.