Kafka Connect

Kafka Connect は、Apache Kafka® と他のデータシステムとの間で拡張性と信頼性に優れたデータのストリーミングを行うためのツールです。このツールにより、Kafka と大規模なデータセットをやり取りするコネクターを短時間で簡単に定義できます。Kafka Connect は、データベース全体を取り込むことや、すべてのアプリケーションサーバーから Kafka トピックにメトリクスを収集することができ、それにより、低いレイテンシでストリーム処理にデータを使用できるようになります。エクスポートコネクターは、Kafka トピックから Elasticsearch などのセカンダリインデックスにデータを配信することや、オフライン分析のために Hadoop などのバッチシステムにデータを配信することができます。

Kafka Connect とは

Kafka Connect は、無償提供されている、Apache Kafka® のオープンソースコンポーネントで、データベース、キー値ストア、検索インデックス、ファイルシステムの間のシンプルなデータ統合を実現する集約型のデータハブの役割を果たします。ここに記載されている情報は、Kafka Connect for Confluent Platform に固有の情報です。Confluent Cloud コネクターの詳細については、「外部システムと Confluent Cloud の接続」を参照してください。

ちなみに

Confluent Cloud では、よく利用されているデータソースやデータシンクにすばやく簡単に接続できる、フルマネージド型のプレビルドされた Kafka コネクターを使用できます。Confluent Cloud コネクターを使用すると、GUI ベースのシンプルな構成、インフラストラクチャ管理が要らない柔軟なスケーリングを利用して、Kafka のデータを簡単に移動できるので、アプリケーションの開発により時間をかけて取り組めるようになります。Confluent Cloud コネクターの詳細については、「外部システムと Confluent Cloud の接続」を参照してください。

Kafka Connect には次のような利点があります。

  • データ中心のパイプライン – Connect は有意義なデータの抽象化を行って Kafka との間でデータのプルやプッシュを行います。
  • 柔軟性と拡張性 – Connect は、単一ノードのストリーミング指向およびバッチ指向のシステムで実行することも(スタンドアロンモード)、組織全体規模のサービスへと拡張することも(分散モード)できます。
  • 再利用可能性と拡張性 – Connect では、既存のコネクターを利用することも、ニーズに応じて既存のコネクターを拡張することもでき、本稼働環境への導入までの時間を短縮できます。

Kafka Connect は、Kafka との間のデータのストリーミングに特化しているため、高品質で信頼性とパフォーマンスに優れたコネクタープラグインの記述をシンプルに行うことができます。また、Kafka Connect では、他のフレームワークを使用した場合には実現するのが困難な保証を、フレームワークで行うことができます。Kafka およびストリーム処理フレームワークと組み合わせるうえで、Kafka Connect は ETL パイプラインに不可欠なコンポーネントです。

Kafka Connect の仕組み

Kafka Connect は、単一のマシンで複数のジョブを実行するスタンドアロンのプロセスとしてデプロイすることも(ログ収集の場合など)、組織全体に対応する分散型で拡張性のあるフォールトトレラントなサービスとしてデプロイすることもできます。Kafka Connect は、導入の障壁が低く、運用のオーバーヘッドが少なくなっています。開発およびテストの段階ではスタンドアロン環境で小規模に始めておいて、後からスケールアップして、大規模な組織のデータパイプラインをサポートできる充実した本稼働環境を実現することができます。

Kafka Connect には 2 種類のコネクターが含まれています。

  • ソースコネクター – Kafka トピックに対して、データベース全体を取り込み、テーブルの更新をストリーミングします。また、ソースコネクターは、すべてのアプリケーションサーバーからメトリクスを収集して、Kafka トピックに保存することもでき、それにより、低いレイテンシでデータをストリーム処理に利用できるようになります。
  • シンクコネクター – Kafka トピックから Elasticsearch などのセカンダリインデックスにデータを配信することや、オフライン分析のために Hadoop などのバッチシステムにデータを配信することができます。

環境に Kafka Connect をデプロイする方法については、「Kafka Connect の使用方法 - スタートガイド」を参照してください。

詳細情報