Modifica acquisizione dati (CDC)

Jan 25 2023
Rende i dati disponibili più velocemente, in modo più efficiente e senza sacrificare l'accuratezza dei dati. Di Siddharth Pal DevOps Team, Hike Insights dai dati è una delle parti più importanti di qualsiasi prodotto, ma quando crei un'app di gioco, è ancora più importante estrarre le modifiche ai dati dal database di origine e inserirle nel data warehouse quasi in tempo reale.

Rende i dati disponibili più velocemente, in modo più efficiente e senza sacrificare l'accuratezza dei dati.

Di Siddharth Pal DevOps Team, Hike

Gli approfondimenti dai dati sono una delle parti più importanti di qualsiasi prodotto, ma quando crei un'app di gioco, è ancora più importante estrarre le modifiche ai dati dal database di origine e inserirle nel data warehouse quasi in tempo reale.

CDC è più efficiente e veloce dell'inserimento di dati in batch, rendendolo la soluzione ideale per i team di dati e BI che hanno bisogno di inserire i dati nel sistema e analizzarli rapidamente.

Abbiamo avuto un caso d'uso interessante in cui abbiamo iniziato a pensare a CDC per tutti i nostri set di dati primari nell'agosto '21 e l'abbiamo implementato. Lavoriamo alla pipeline CDC da più di un anno con tutte le ultime modifiche al software e la migrazione dei dati di origine, che sono felice di condividere con te in questo blog. Durante questo periodo, abbiamo aggiunto una serie di database e siamo passati al database sharding per le applicazioni aziendali più critiche.

Perché abbiamo deciso di adottare CDC?

Casi d'uso come lo stato di un deposito o prelievo, lo stato di una sessione di gioco per un determinato gioco, l'individuazione di anomalie, le campagne in tempo reale, i modelli di apprendimento automatico, l'analisi operativa e altro ancora richiedono dati quasi in tempo reale e devono anche registrare ogni modifica dei dati.

Configurazione della pipeline CDC

Quindi, da dove inizi se vuoi creare una pipeline CDC?

  1. Avvia il cluster kafka di almeno 3 nodi.
  2. Scarica un connettore debezium stabile compatibile con la versione del tuo database e installalo sui tuoi server broker o nodi dedicati.
  3. Stabilire la connettività di rete tra l'infrastruttura fornita.
  4. Creare un utente di sola lettura nel database di origine.
  5. MongoDB:
  6. MySQL:
    • MySQL:

    Cosa abbiamo ottenuto?

    Il passaggio dall'ETL tradizionale allo steaming risolve per noi questi due grandi problemi:

    1. Picchi periodici di carico : query di grandi dimensioni incidono sulla latenza e, in ultima analisi, sull'esperienza dell'utente, motivo per cui abbiamo impostato un server secondario aggiuntivo per pianificare i processi batch.
    2. Decisioni aziendali ritardate : le decisioni aziendali basate sui dati sono ritardate dalla nostra frequenza di polling.

    Eseguire la chiamata curl per monitorare lo stato del connettore nello strumento di monitoraggio.

    Prossimi passi

    CDC si è rivelata una piattaforma efficace per noi e sapevamo che avremmo potuto fare di più con essa.

    Come passo successivo, stiamo lavorando su più modi per quanto segue:

    1. CDC può fungere da strumento per eseguire il backup dei dati per evitare perdite.
    2. Ulteriori indagini utilizzando strumenti di BI o come processo di input per una pipeline di AI/apprendimento automatico.