CDC (change data capture)
Odczytywanie zatwierdzonych zmian z dziennika transakcji samej bazy i przesyłanie ich jako zdarzeń do innych systemów.
Zamiast odpytywać tabelę o nowe wiersze, narzędzie CDC, np. Debezium, śledzi write-ahead log Postgresa albo binlog MySQL i emituje każdy insert, update i delete. Ma małe opóźnienie i nie obciąża bazy odpytywaniem; to częsty sposób na przekaźnik outboxa albo zasilanie indeksu wyszukiwania czy hurtowni. Kosztem jest kolejny element infrastruktury i związanie z wnętrznościami bazy: zmiana schematu może popsuć konsumentów.
Powiązane hasła
- WAL (write-ahead log): Dziennik bazy danych z każdą zmianą, zapisywany przed plikami danych, dzięki któremu działa odzyskiwanie po awarii, replikacja i odtwarzanie do punktu w czasie.
- Wzorzec outbox (transactional outbox): Zapisanie zdarzenia w tabeli outbox w tej samej transakcji bazy co sama zmiana, a potem osobne opublikowanie go w brokerze.
- Spójność ostateczna (eventual consistency): Gwarancja, że kopie danych zgodzą się ze sobą, gdy przestaną napływać zmiany, ale w międzyczasie mogą chwilowo pokazywać różne wartości.
