Apache KafkaおよびKafka Connectフレームワーク¶
このトピックでは、Apache KafkaおよびKafka Connectフレームワークの基本概念について説明します。
Apache Kafkaソフトウェアは、メッセージキューやエンタープライズメッセージシステムと同様に、パブリッシュおよびサブスクライブモデルを使用してレコードのストリームを読み書きします。Kafkaを使用すると、プロセスはメッセージを非同期で読み書きできます。サブスクライバーはパブリッシャーに直接接続する必要はありません。パブリッシャーはKafkaでメッセージをキューに入れて、サブスクライバーが後で受信できるようにします。
アプリケーションはメッセージを トピック に発行し、アプリケーションはトピックをサブスクライブしてそれらのメッセージを受信します。
Kafka Connectは、Kafkaをデータベースなどの外部システムと接続するためのフレームワークです。Kafka Connectクラスタは、Kafkaクラスタとは別のクラスタです。Kafka Connectクラスターは、コネクタ(外部システムでの読み取りおよび書き込みをサポートするコンポーネント)の実行とスケールアウトをサポートします。
Kafka Connectは、2種類のコネクタで使用できます。
ソースコネクタ:外部システムからKafkaトピックへのデータをインポートします。
シンクコネクタ:Kafkaトピックから外部システムにデータをエクスポートします。
Kafka対応の高性能Snowflakeコネクタは、Kafkaトピックからデータを読み取り、Snowflakeテーブルにロードするシンクコネクタです。
Kafka Connectは、次のような一般的な運用上の問題に対処します。
スケーラビリティ:Kafka Connectは、クラスターにワーカーノードを追加することで水平方向にスケールできます。
フォールトトレランス:ワーカーノードに障害が発生した場合、Kafka Connectは自動的に他の利用可能なノードに作業を再分散します。
オフセット管理:Kafka Connectは、どの記録が処理されたかを追跡し、障害が発生した場合にデータが失われたり、重複したりしないようにします。
構成管理:コネクタは RESTAPI を介して構成および管理できるため、データパイプラインの展開と監視が容易になります。