StreamNative-4

※このブログは2025年8月29日に公開された英語ブログ「Real-Time Streaming: Integrating TiDB Cloud Changefeed with StreamNative Cloud」の拙訳です。

PingCAPにおけるTiDB Cloudのミッションは、開発者や企業にとってデータをより身近に、より速く、より強力なものにすることです。本日、私たちはこのビジョンをさらに一歩進め、新しい機能を提供します。それは、TiDB CloudからStreamNative Cloudエコシステムへ、リアルタイムのデータ変更を直接ストリーミングする機能です。

この連携は、TiDB CloudのChangefeed機能によって実現され、データベースでイベントが発生したその瞬間にそれをキャプチャし、伝播させることができます。これをStreamNativeのApache Pulsarベースのプラットフォームと組み合わせることで、低遅延でのデータ配信と、常に稼働し続ける世界でビジネスを迅速に対応させるイベント駆動型アーキテクチャが可能になります。

TiDB Cloudは、大規模かつ平行性の高いワークロードの処理に優れる、強力な分散型SQLデータベースを提供します。一方、Apache Pulsarを基盤とするStreamNativeのONEプラットフォームは、リアルタイムのデータ取り込みと配信のために設計された、非常にスケーラブルで低遅延なメッセージングおよびストリーミングプラットフォームを提供します。

新しいChangefeed機能は、この二つの強力なプラットフォームの架け橋となり、TiDB CloudからStreamNative Cloudへのシームレスなデータフローを実現します。

この連携により、ユーザーはTiDB Cloudで発生したデータ変更をキャプチャし、StreamNative Cloud上のApache Pulsarトピックへ直接ストリーミングできるようになります。これにより、以下のような多数のユースケースが可能になります。

  • リアルタイム分析:TiDB CloudのオペレーショナルデータをPulsarに供給し、即座に処理して分析的な洞察を得る。
  • イベント駆動型アプリケーション:データベースの変更に瞬時に反応するリアクティブなアプリケーションを構築する。
  • データ同期:変更を効率的に伝播させることで、様々なデータシステム間で一貫性を保つ。
  • データレイクへの取り込み:TiDB Cloudのデータをデータレイクにストリーミングし、履歴分析や機械学習に活用する。

TiDB Cloud ChangefeedとStreamNative Cloudを始めましょう

この強力な連携機能は簡単に始められます。最初のチェンジフィードを設定するためのクイックガイドをご紹介します。

前提条件

ステップ1:StreamNative Cloud環境の準備

Changefeedを設定する前に、送信先のトピックを準備し、認証情報をStreamNative Cloudコンソールから取得する必要があります。

  1. StreamNative Cloudコンソールにログインします。手軽に始めるには、サーバーレスクラスタを作成できます。
  2. トピックの作成:Topicsセクションに移動し、目的のテナントとネームスペースを選択して、新しいトピック (例:tidb-changes) を作成します。後で必要になるため、トピック名を控えてください
  3. 認証キーの取得:Pulsar Clientsに移動し、サービスアカウントを選択してから、Create API Keyをクリックしてトークンを生成します。このトークンを安全な場所にコピーしてください

図1: StreamNative Cloud 環境の準備

ステップ2:TiDB Cloud Changefeedの設定

StreamNative CloudのアクセスAPIキーを利用して、TiDB Cloudでチェンジフィードを作成できます。

  1. TiDB Cloudコンソールにログインします。
  2. Changefeedセクションに移動し、新しいチェンジフィードを作成します。
  3. 連携先としてPulsarを選択します。
  4. Connection設定の下で、Pulsar Broker URLを入力し、Token認証タイプを選択します。
  5. 前のステップで取得した Pulsar Broker URLとAPIキーを入力します。

図2: TiDB Cloud Changefeedの設定

ステップ3:TiDB Cloudでテーブルを作成しデータを挿入する

チェンジフィードの設定が完了しましたので、TiDB Cloud ShellでSQLコマンドを実行し、チェンジイベントを生成できます。

  1. お使いのクラスタのTiDB Cloud Shellを開きます。
  2. 以下のSQL文を実行してusersテーブルを作成し、2件のレコードを挿入します。

CREATE TABLE users (
    id BIGINT PRIMARY KEY AUTO_RANDOM,
    name VARCHAR(255),
    email VARCHAR(255)
);

INSERT INTO users (name, email) VALUES 
('Bob', 'bob@example.com'),
('Charlie', 'charlie@example.com');

ステップ4:StreamNative Cloud でのデータ検証

SQLコマンドによるチェンジイベントは、StreamNative Apache Pulsarのトピックへ直接ストリームされます。その後、Pulsarのコンシューマーが、データが正しく受信されていることを検証できます。

コンシューマーは、構造化されたJSON形式でチェンジイベントを受信します。最初のイベントはCREATE TABLEコマンドに対するDDLとなり、それに続いて各INSERT操作に対する個別のDMLイベントが送信されます。

{"id":0,"database":"test","table":"users","pkNames":null,"isDdl":true,"type":"CREATE","es":1754465697775,"ts":1754465697959,"sql":"CREATE TABLE `users` (`id` BIGINT PRIMARY KEY /*T![auto_rand] AUTO_RANDOM */,`name` VARCHAR(255),`email` VARCHAR(255))","sqlType":null,"mysqlType":null,"data":null,"old":null}

{"id":0,"database":"test","table":"users","pkNames":["id"],"isDdl":false,"type":"INSERT","es":1754465706724,"ts":1754465707051,"sql":"","sqlType":{"id":-5,"name":12,"email":12},"mysqlType":{"id":"bigint","name":"varchar","email":"varchar"},"old":null,"data":[{"id":"3458764513820540929","name":"Bob","email":"bob@example.com"}]}

{"id":0,"database":"test","table":"users","pkNames":["id"],"isDdl":false,"type":"INSERT","es":1754465706724,"ts":1754465707051,"sql":"","sqlType":{"id":-5,"name":12,"email":12},"mysqlType":{"name":"varchar","email":"varchar","id":"bigint"},"old":null,"data":[{"id":"3458764513820540930","name":"Charlie","email":"charlie@example.com"}]}

詳細な手順や高度な設定については、公式ドキュメントを参照してください。

リアルタイムストリーミング:データから意思決定へのスケーリング

このチェンジフィード連携機能の追加は、TiDB Cloudが現代のデータ集約型アプリケーションの基盤としての役割を担っていることを裏付けるものです。TiDB Cloudの分散SQL機能とStreamNativeのリアルタイム・ストリーミングプラットフォームを連携させることで、開発者は複雑さを増すことなく、オペレーショナルデータとアナリティクスデータの流れを統合できるようになります。

リアルタイム分析パイプライン、イベント駆動型マイクロサービス、またはシームレスなデータレイクへのデータ取り込みのいずれを構築する場合でも、TiDB Cloudは安心してスケールできる柔軟性を提供します。

ぜひこの機能を試していただき、TiDB CloudとStreamNative Cloudを一緒に活用して、即時性と耐障害性を兼ね備えた、将来性のあるアプリケーションを構築されることをお勧めします。


Have questions? Let us know how we can help.

Contact Us

TiDB Cloud Dedicated

TiDB Cloudのエンタープライズ版。
専用VPC上に構築された専有DBaaSでAWSとGoogle Cloudで利用可能。

TiDB Cloud Starter

TiDB Cloudのライト版。
TiDBの機能をフルマネージド環境で使用でき無料かつお客様の裁量で利用開始。