元ドキュメント: Binlog サブスクリプション
Binlog サブスクリプション
概要
TDSQL Boundless は MySQL 互換の Binlog イベントを購読することで、ターゲットデータベースやサードパーティプラットフォームへのリアルタイムデータ同期をサポートします。マルチアクティブのクラウド/オンプレミス環境、クロスリージョンディザスタリカバリ、クロスボーダー同期、リアルタイムデータウェアハウジングなど、さまざまなシナリオに対応します。
MySQL フォーマットと互換性のある Binlog を生成するため、Canal、Flink CDC、Kafka 等のエコシステムツールとのシームレスな連携が可能です。
主な特長
- 高い互換性: MySQL コミュニティの Binlog サブスクリプションエコシステムと互換
- 高パフォーマンス: Raft コンセンサスプロトコルの非同期ログストリームから変換することで、書き込み操作への負荷を最小限に抑えた設計
- 実績ある安定性: Tencent の EC サイト、ビッグデータ、コンテンツモデレーション等のコアビジネスで 1 年以上の安定稼働実績
パフォーマンスベンチマーク
Sysbench ベンチマーク
- スループット: 105,000 QPS
- リソース使用量: 4C CPU、8.4 GB メモリ(32C 64G スペック)
72 時間安定性テスト
- 構成: 3MC(4C8G)+ 15 HyperNode(16C32G)+ 1 Binlog サブスクリプションノード(48C96G)
- 負荷: 50,000 QPS INSERT
- 結果: 同期遅延が安定して 10 秒以内を維持
ワイドテーブル最適化
- シナリオ: 平均行長 1.5 KB、50,000 QPS
- 結果: リプレイ遅延が 10 秒以内を維持
パフォーマンスチューニング
バッチ処理や大規模トランザクションを含むシナリオでは、以下のパラメータ調整を推奨します。
sql
-- 大規模トランザクション処理の強化
SET GLOBAL wait_flush_binlog_cache_max_size = 104857600; -- 100MB
-- メモリ使用の最適化
SET GLOBAL tdstore_block_cache_size = 314572800; -- 300MB制限事項と互換性
バージョン要件
カーネルバージョン 19.2.0 以上が必要です。
未対応の操作
| 制限事項 | 詳細 |
|---|---|
| FUNCTION / PROCEDURE / TRIGGER | Binlog の生成に非対応 |
CREATE TABLE ... AS SELECT ... | カーネル v20.0.0 未満では無効 |
| VIEW 操作 | カーネル v21.0.0 未満では Binlog 生成に非対応 |
機能上の制限
- MySQL Binlog プロトコルによるサブスクリプションのみサポート(個別ファイルのダウンロードは非対応)
- 単一データベースインスタンスあたり最大 5 件 の Binlog サブスクリプションタスクを作成可能