Open1

Debezium入門

choplinchoplin

Debeziumとは

Debeziumのwebsiteのトップページにはこう記されている

Debezium is an open source distributed platform for change data capture. Start it up, point it at your databases, and your apps can start responding to all of the inserts, updates, and deletes that other apps commit to your databases. Debezium is durable and fast, so your apps can respond quickly and never miss an event, even when things go wrong.

change data capture のためのオープンソースの分散プラットフォームであるとのこと。change data capture とは、次の文にあるようにデータベースへのwrite(insert, update, delte)に応答して、アプリケーションが何らかの処理を行えるようにするもの。Debeziumはこれをロバストかつ高速に実現してくれる。


この説明ではDebeziumの目的は分かるが、それがどのように実現されているかが分からない。どのように、については、DebeziumのドキュメントのFeaturesのページに端的な説明がある。

Debezium is a set of source connectors for Apache Kafka Connect.

つまり実体として、DebeziumとはKafka Connectsource connectorのセットだ。一旦Kafkaにデータを入れてしまえば、そこから先はKafkaが責任を持ってロバストかつ高速にデータを流してくれるので、Debeziumの分担は各データベースの実装にあわせてwriteのイベントを取り出す部分であり、実際にDebeziumはメジャーなDBに向けたsource connector実装のセットを提供している。