8.3. Avro シリアル化


重要

Avro を使用したレコードキーおよび値のシリアライズ機能はテクノロジープレビュー機能です。テクノロジープレビューの機能は、Red Hat の実稼働環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat はテクノロジープレビュー機能を実稼働環境に実装することは推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。サポート範囲の詳細は、「テクノロジプレビュー機能のサポート範囲」を参照してください。

Debezium コネクターは Kafka Connect フレームワークで機能し、変更イベントレコードを生成してデータベースの各行レベルの変更をキャプチャーします。変更イベントレコードごとに、Debezium コネクターは以下を行います。

  1. 設定した変換を適用します。
  2. 設定された Kafka Connect コンバーターを使用して、レコードキーおよび値をバイナリー形式でシリアライズします。
  3. 正しい Kafka トピックにレコードを書き込みます。

各 Debezium コネクターインスタンスにコンバーターを指定できます。Kafka Connect では、レコードキーと値を JSON ドキュメントにシリアライズする JSON コンバーターが提供されます。デフォルトの動作では、JSON コンバーターにレコードのメッセージスキーマが含まれ、各レコードが非常に詳細になります。『 Getting Started with Debezium』には、ペイロードとスキーマの両方が含まれる場合にレコードが表示されます。JSON でレコードをシリアライズする必要がある場合、以下のコネクター設定プロパティーをに設定することを検討してください false

  • key.converter.schemas.enable
  • value.converter.schemas.enable

これらのプロパティーを設定して、各レコードから詳細なスキーマ情報を false 除外します。

Apache Avro を使用すると、レコードキーと値をシリアライズできます。Avro バイナリー形式は、コンパクトで効率的です。Avro スキーマにより、各レコードに正しい構造があることを確認することができます。Avro のスキーマ進化メカニズムにより、スキーマを進化できます。これは、変更したデータベーステーブル構造に一致するように各レコードのスキーマを動的に生成する Debezium コネクターに不可欠です。時間の経過とともに、同じ Kafka トピックに書き込まれたイベントレコードを変更する場合は、同じスキーマのバージョンが異なる可能性があります。Avro のシリアライズにより、イベントレコードコンシューマーの変更がレコードスキーマに適応することが容易になります。

Apache Avro のシリアライズを使用するには、Avro メッセージスキーマとそのバージョンを管理するスキーマレジストリーをデプロイする必要があります。このレジストリーの設定に関する詳細は、Red Hat Integration - Service Registry のドキュメントを参照してください。

8.3.1. Red Hat Integration - Service Registry について

Red Hat Integration: Service Registry は、Avro と連携するコンポーネントを複数提供します。

  • Debezium コネクター設定で指定できる Avro コンバーター。このコンバーターは、Kafka Connect スキーマを Avro スキーマにマッピングします。次にコンバーターは Avro スキーマを使用してレコードキーと値を Avro のコンパクトなバイナリー形式にシリアライズします。
  • 以下を追跡する API およびスキーマレジストリー

    • Kafka トピックで使用される Avro スキーマ
    • Avro コンバーターが生成された Avro スキーマを送信する場所

    Avro スキーマはこのレジストリーに保存されているため、各レコードには小さな スキーマ ID のみが含まれている必要があります。これにより、各レコードはさらに小さくなります。Kafka のような I/O バインドされたシステムでは、プロデューサーとコンシューマーの合計スループットがより高くなります。

  • Kafka プロデューサーおよびコンシューマーの Avro Serdes セシリアライザーおよびデシリアライザー)。変更イベントレコードを使用するために作成する Kafka コンシューマーアプリケーションは、Avro Serdes を使用して変更イベントレコードをデシリアライズできます。

Debezium で Service Registry を使用するには、Service Registry コンバーターとその依存関係を、Debezium コネクターの実行に使用する Kafka Connect コンテナーイメージに追加します。

注記

Service Registry プロジェクトは JSON コンバーターも提供します。このコンバーターは、あまり詳細なメッセージと人間が判読できる JSON の利点を組み合わせることができます。メッセージにはスキーマ情報自体は含まれませんが、スキーマ ID のみが含まれます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る