Más contenido relacionado Similar a LA DUCK CONF 2023 - Guide de survie du Change Data Capture (20) Más de OCTO Technology (20) LA DUCK CONF 2023 - Guide de survie du Change Data Capture1. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Guide de survie du Change
Data Capture
Découvrez tout ce qu'on ne vous dit pas sur le Change Data Capture avec de vrais retours terrains !
2. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Qui sommes-nous ?
Mariane Champalier
Data Engineer
Certifiée Kafka
Peut vous parler de danse
jusqu’à épuisement
Baptiste Courbe
Data Architect
Fait des trucs avec les
données
Porte une casquette la
grande majorité du temps
4. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Situation initiale
Besoins
๏ Vente de services en ligne et en agences
5. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Situation initiale
Besoins
๏ Vente de services en ligne et en agences
๏ Suivi en temps réel des ventes
6. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Situation initiale
Besoins
๏ Vente de services en ligne et en agences
๏ Suivi en temps réel des ventes
๏ Une envie croissante d’aller vers le Cloud
7. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Situation initiale
Besoins
๏ Vente de services en ligne et en agences
๏ Suivi en temps réel des ventes
๏ Une envie croissante d’aller vers le Cloud
๏ Rapide, sans perte de donnée, fil de l’eau
9. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Situation initiale
Contraintes
๏ Base de données legacy ne pouvant pas supporter les besoins analytics naissants
10. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Situation initiale
Contraintes
๏ Base de données legacy ne pouvant pas supporter les besoins analytics naissants
๏ Contraintes sur le fonctionnements des bases
11. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Situation initiale
Contraintes
๏ Base de données legacy ne pouvant pas supporter les besoins analytics naissants
๏ Contraintes sur le fonctionnements des bases
๏ 6 mois pour mettre en place l’architecture
12. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
La théorie
3 approches possibles :
Ecriture en Y (Dual Writes)
13. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
La théorie
3 approches possibles :
Ecriture en Y (Dual Writes)
Architecture événementielle
14. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
La théorie
3 approches possibles :
Ecriture en Y (Dual Writes)
Architecture événementielle
Change Data Capture
15. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
La théorie
3 approches possibles :
Ecriture en Y (Dual Writes)
Architecture événementielle
Change Data Capture
16. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
La théorie
File de
messages
Détection
d’un
changement
Application
des
changements
Base
source
Base
cible
3 approches possibles :
Ecriture en Y (Dual Writes)
Architecture événementielle
Change Data Capture
18. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
La pratique
On premise
Legacy
DB2
CloudSQL
Analytic,
BI, ML
(BigQuery)
20. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
La pratique
On premise
Legacy
DB2
CloudSQL
On premise
21. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
La pratique
On premise
Legacy
Agent CDC
DB2
CloudSQL
On premise
22. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
La pratique
Table 1
Table n
On premise
Legacy
…
Agent CDC
DB2
CloudSQL
On premise
23. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
La pratique
Table 1
Table n
Connectors
On premise
Legacy
…
Agent CDC
DB2
CloudSQL
On premise
24. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
La pratique
Table 1
Table n
Connectors
On premise
Legacy
…
Agent CDC
DB2
CloudSQL
On premise
Temps
réel
2 milliards
d'événements
250+
Tables
25. Coin
Coin
!
La Duck Conf by OCTO Technology © 2021 - All rights reserved
Kit de survie
Les 4 problèmes que vous allez rencontrer
26. Coin
Coin
!
La Duck Conf by OCTO Technology © 2021 - All rights reserved
Kit de survie
1. Le monitoring
Les 4 problèmes que vous allez rencontrer
27. Coin
Coin
!
La Duck Conf by OCTO Technology © 2021 - All rights reserved
Kit de survie
1. Le monitoring
2. La reprise d’historique
Les 4 problèmes que vous allez rencontrer
28. Coin
Coin
!
La Duck Conf by OCTO Technology © 2021 - All rights reserved
Kit de survie
1. Le monitoring
2. La reprise d’historique
3. La cohérence de vos données
Les 4 problèmes que vous allez rencontrer
29. Coin
Coin
!
La Duck Conf by OCTO Technology © 2021 - All rights reserved
Kit de survie
1. Le monitoring
2. La reprise d’historique
3. La cohérence de vos données
4. Les changements de types
Les 4 problèmes que vous allez rencontrer
30. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Faire du monitoring en même
temps que les devs
Dev d’abord,
monitoring ensuite
31. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
1. Le monitoring
On premise
On premise
Legacy
DB2 CloudSQL
32. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Le monitoring pour voir où on va
Choisir ses
métriques
Challenger le
besoin
Commencer simple
33. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Le monitoring pour voir où on va
Choisir ses métriques
Commencer
simple
Challenger le
besoin
34. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Le monitoring pour voir où on va
Choisir ses
métriques Challenger le besoin
Commencer
simple
35. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Faire une reprise d’historique
Ne capturer que les nouvelles
transactions
36. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
2. Comment se
préparer à la reprise
d’historique ?
On premise
On premise
Legacy
DB2 CloudSQL
37. 37
Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Préparez-vous à la reprise
d’historique (et pas qu’une fois)
๏ 2 Milliards d'événements en une fois
๏ Congestion du système
๏ Montée en charge du cluster Kafka
38. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Préparez-vous à la reprise d’historique (et pas qu’une fois)
Checklist :
39. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Préparez-vous à la reprise d’historique (et pas qu’une fois)
Checklist :
✔ Faire des tirs de perfs
40. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Préparez-vous à la reprise d’historique (et pas qu’une fois)
Checklist :
✔ Faire des tirs de perfs
✔ Monitorer le système
41. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Préparez-vous à la reprise d’historique (et pas qu’une fois)
Checklist :
✔ Faire des tirs de perfs
✔ Monitorer le système
✔ Optimiser la base cible
42. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Préparez-vous à la reprise d’historique (et pas qu’une fois)
Checklist :
✔ Faire des tirs de perfs
✔ Monitorer le système
✔ Optimiser la base cible
✔ Préparer 2 configs
43. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Préparez-vous à la reprise d’historique (et pas qu’une fois)
Checklist :
✔ Faire des tirs de perfs
✔ Monitorer le système
✔ Optimiser la base cible
✔ Préparer 2 configs
⚠ Ne pas croire que la reprise d’historique ne se fera qu’une seule fois
44. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Avoir une cohérence
immédiate
Avoir une cohérence à terme
45. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
3. Choisir sa
cohérence
On premise
On premise
Legacy
DB2 CloudSQL
46. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Cohérence immédiate vs. Cohérence à terme
Application de sync
Source
Cible Cible
Source
47. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
On premise
Legacy
DB2 CloudSQL
On premise
La cohérence à terme
Topic 1
Topic 2
Topic 3
…
Table 1
Table 2
Table 3
Table 1
Table 2
Table 3
48. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Gérer l’ordre des messages
Insert B, Update A* …
A*
B
…
Insert B
Update A*
…
A*
B
…
Log
49. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Gérer l’ordre des messages
Insert B, Update A* …
A*
B
…
Insert B
Update A*
…
A*
B
…
Log
50. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Gérer l’ordre des messages
Insert B, Update A* …
A*
B
…
Insert B
Update A*
…
A*
B
…
Log
51. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Gérer l’ordre des messages
Insert B, Update A* …
A*
B
…
Insert B
Update A*
…
A*
B
…
Log
52. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Gérer l’ordre des messages
Insert B, Update A* …
A*
B
…
Insert B
Update A*
…
A*
B
…
Log
53. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Gérer l’ordre des messages
Insert B, Update A* …
A*
B
…
Insert B
Update A*
…
A*
B
…
Log
54. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Gérer l’ordre des messages
Insert B, Update A* …
A*
B
…
Insert B
Update A*
…
A*
B
…
Log
55. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Gérer l’ordre des messages
Insert B, Update A* …
A*
B
…
Insert B
Update A*
…
A*
B
…
Log
56. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Gérer l’ordre des messages
Insert B, Update A* …
A*
B
…
Insert B
Update A*
…
A*
B
…
Log
57. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Laisser le système choisir le
typage des colonnes
Contraindre le système en lui
imposant des types
58. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
4. Ne pas perdre
d’informations
On premise
On premise
Legacy
DB2 CloudSQL
59. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Oups, on a perdu de l’information
On premise
Legacy
DB2 CloudSQL
On premise
Table
Name : Varchar
Date : Timestamp
Table
Name : Text
Date : Text
{ Name: “string”,
Date: “string” }
Auto create
60. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Oups, on a perdu de l’information
On premise
Legacy
DB2 CloudSQL
On premise
Table
Name : Varchar
Date : Timestamp
Table
Name : Varchar
Date : Timestamp
{ Name: “string”,
Date: “string” }
Auto create
61. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Une prod qui continue à évoluer
Connectors
On premise
Legacy
Agent CDC
DB2
CloudSQL
On premise
CLIENT
ID : number
Topic
{ id: “1287612” } CLIENT
ID : number
62. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Une prod qui continue à évoluer
Connectors
On premise
Legacy
Agent CDC
DB2
CloudSQL
On premise
CLIENT
ID : number
Topic
{ id: “1287612” } CLIENT
ID : number
63. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Une prod qui continue à évoluer
Connectors
On premise
Legacy
Agent CDC
DB2
CloudSQL
On premise
CLIENT
ID : number
CLIENT
ID : number
COUNTRY : varchar
(with default value)
Topic
{ id: “1287612” }
64. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Une prod qui continue à évoluer
Connectors
On premise
Legacy
Agent CDC
DB2
CloudSQL
On premise
CLIENT
ID : number
Topic
{ id: “1287612” } CLIENT
ID : number
COUNTRY : varchar
(with default value)
65. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Une prod qui continue à évoluer
Connectors
On premise
Legacy
Agent CDC
DB2
CloudSQL
On premise
CLIENT
ID : number
COUNTRY : varchar
Topic
{ id: “1287612” } CLIENT
ID : number
COUNTRY : varchar
(with default value)
66. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Une prod qui continue à évoluer
Connectors
On premise
Legacy
Agent CDC
DB2
CloudSQL
On premise
Topic
{ id: “1287612” }
{ id: “1287613”,
country: “France” }
CLIENT
ID : number
COUNTRY : varchar
(with default value)
CLIENT
ID : number
COUNTRY : varchar
68. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Ce qu’il faut retenir
Bien choisir
sa cohérence
Faire des tirs de
performances
Surveiller le LAG Imposer vos
types
69. Coin
Coin
!
La Duck Conf by OCTO Technology © 2023 - All rights reserved
Le mot de la fin
“On peut sauter plus haut, aller plus loin, montrer plus de courage, élever le niveau
d'endurance, mais il ne faut jamais, jamais, oublier d'être simple.”
Mike Horn