Skip to content

ClickPipes 向け MongoDB CDC コネクタの一般提供 (GA) を開始

marta paes moreira no background
2026年11月4日 · 14分で読む

概要

わずか数クリックで MongoDB から ClickHouse Cloud へデータをレプリケーションし、ドキュメントベースのデータに対して極めて高速な分析を実行できます。並列スナップショット作成、構造化取り込みモード、プログラムによる設定 (Cloud API、Terraform) に対応しました。

MongoDB 向け CDC コネクタの開発に着手した当初、これは間違いなく大成功の組み合わせに思えました。ドキュメントの半構造化データという性質は ClickHouse のネイティブ JSON データ型と完璧に合致し、ClickHouse の列指向アーキテクチャは最大 100 倍高速な分析クエリを実現し、ClickPipes による継続的なレプリケーションにより、MongoDB の運用データから数時間ではなく数秒でインサイトを取得できるようになるからです。

しかし、新しい CDC コネクタの開発において、最初からトントン拍子に進むことなど「絶対に」ありません。営業時間中に MongoDB クラスターをリシャードするユーザーもいれば、保持ポリシーを適用するために数十億件のドキュメントを一括削除するユーザーもいます。あるフィールドが null になることなど絶対にあり得ないと断言するユーザーもいます。数百社にのぼる本番環境のユーザーを対象に 1.5 PB 以上のデータを移行し、ありとあらゆるエッジケースを克服した今、MongoDB CDC コネクタの一般提供 (GA) をお知らせする準備が整いました。

私たちは Fivetran ベースのバッチパイプラインを MongoDB ClickPipes に置き換え、複数の MongoDB クラスターにまたがる 250 のコレクションを ClickHouse Cloud に直接ストリーミングしています。ClickPipes と ClickHouse Cloud を採用してデータ分析プラットフォームをリファクタリングしたことで、データのレイテンシが 90% 以上削減されました。これにより、現場採用向けの自社 AI プラットフォームである Cue に最新のデータが供給され、顧客が採用や人員配置に関する意思決定を数分以内に行えるようになっています - Nate Polek 氏、スタッフデータエンジニア、Fountain

ClickHouse Cloud に今すぐサインアップして、ClickPipes 向け MongoDB CDC コネクタをお試しください。

本コネクタは MongoDB ネイティブの Change Streams インターフェースを活用して、すべてのドキュメント変更を低レイテンシでキャプチャし、MongoDB と ClickHouse Cloud の間をほぼリアルタイムに同期します。この組み合わせは、運用の柔軟性と分析性能の両方を必要とする現代のアプリケーションにとって強力なアーキテクチャを生み出します。MongoDB クラスターはミッションクリティカルな運用ワークロードの処理に集中させながら、ClickHouse Cloud で複雑な分析クエリ、レポート作成、ビジネスインテリジェンスのワークロードを処理できるようになります。

GA での新機能

初期ロードと再同期を高速化する並列スナップショット

スナップショットは CDC パイプラインにおけるデータ整合性を保証するための重要な処理ですが、多くの場合、本番クラスターから数百 GB ものドキュメントを処理して取り込む必要があります。迅速に稼働を開始し、障害から素早く復旧できるように「高速」であることが求められますが、同時にアップストリームへの影響は最小限に抑えなければなりません。

これまで MongoDB CDC コネクタはシングルスレッドで各コレクションのスナップショットを取得していたため、大規模なコレクションの初期ロードには非常に長い時間がかかることがありました。それもすべて過去の話です。ClickPipes はドキュメント ID(_id)に基づいて各コレクションを自動的に複数の範囲へと分割(チャンク化)し、作業を分散することで、デフォルトでスナップショットを「高速」に処理します。

また、実際のコレクションが時間の経過とともに均等に増加することは稀であるため、ClickPipes は各コレクションをサンプリングしてバランスの取れたパーティション境界を決定します。これにより、データが突発的に届いた場合や大規模なバックフィルが発生した場合でも、同様の高速化の恩恵を受けられます。

構造化取り込みモード

MongoDB のドキュメント指向モデルによって生成されるリッチでネストされたデータは、従来の ETL ツールでは解きほぐすのが困難な場合が少なくありません。デフォルトでは、MongoDB CDC ClickPipes はドキュメントを ClickHouse のネイティブ JSON データ型へとレプリケーションします。これにより、元の構造を維持しながら、高性能な分析クエリ、効率的な圧縮、スキーマの進化に対する完全な柔軟性を確保できます。利便性よりも柔軟性を重視する場合には最適ですが、スキーマのフラット化やフィールドの抽出といった作業を利用者自身が行う必要があります。

GA では、その作業を ClickPipes に任せるオプションが利用可能になりました。構造化取り込みは、コレクションをサンプリングしてスキーマを推論し、取り込み時にトップレベルのドキュメントフィールドを型付きの ClickHouse カラムへとマッピングします。その結果、フィールドのキャストや抽出を行うことなくクエリできる、通常の厳密に型付けされたテーブルが生成されます。さらに、推論されたスキーマに合致しないドキュメントを処理する機能も備わっています。

例: 新しい JSON フィールド

初期スキーマに含まれていないフィールドは、フィールド名をキーとし、"unexpected_field": true のフラグが付与された状態で _peerdb_malformed_data JSON カラムへとレプリケーションされます。これにより、バックフィルを行うことなく、ターゲットテーブルに新しいカラムを追加する前からその値にアクセスできます。

{
  "year": {
    "unexpected_field": true,
    "value": 2019
  }
}

例: 型の不一致

推論された型と一致しない値であっても、破棄されることはありません。代わりに、それらの値はフィールド名をキーとし、"type_mismatch": true のフラグが付与された状態で _peerdb_malformed_data JSON カラムに保存されます。そのため、引き続きそれらの値をクエリしたり、ソース側でデータを修正したりできます。

{
  "year": {
    "type_mismatch": true,
    "value": "two thousand nineteen"
  }
}

将来的には、MongoDB CDC コネクタの継続的な進化に合わせて、より複雑なフラット化(すなわちトップレベルフィールド以外のフラット化)もサポートする予定です。

本番環境向けの制御機能の強化

MongoDB はスキーマレスであるため、他の CDC コネクタで提供している一部の機能をサポートするにあたって、異なる課題が生じました。MongoDB CDC コネクタの機能セットを Postgres や MySQL CDC の機能セットに近づけるため、今回の GA リリースには以下が含まれています。

  • ターゲットテーブルの設定: 構造化取り込みを使用すると、MongoDB のコレクションは単一の JSON カラムではなく、適切に型付けされた通常の ClickHouse テーブルとして格納されます。つまり、ClickPipe の作成フローにおいて、他の CDC ソースと同様のきめ細かなテーブル設定が MongoDB でも利用できるようになります。不要なフィールドを除外したり、運用の容易化のためにターゲットテーブルをパーティショニングしたり、クエリパターンに合わせてソートキーを選択したりできます。

  • 削除処理の対応: ドキュメントが削除された際、MongoDB はデフォルトでそのドキュメントの _id のみを送信するため、主キー以外のフィールドでパーティショニングまたはソートされているテーブルでは、削除イベントを行と一致させることができません。これを防ぐため、コレクションごとに pre-images を有効化し、削除イベントにドキュメント全体のデータを含められるようになりました。データ保持ポリシーのために MongoDB から定期的にデータをパージしている場合、ソース側で削除イベントを除外し、ClickHouse 側には完全な履歴を保持することも可能です。

トラブルシューティングを容易にするオブザーバビリティの向上

本コネクタは初期段階から ClickHouse Cloud のエクスペリエンスに完全に統合されていましたが、CDC ClickPipes のオブザーバビリティ面は発展途上でした。以前は、低速な CDC パイプのデバッグを行う際、ある程度の推測に頼るか、ボトルネックがアップストリームの MongoDB にあるのか、ダウンストリームの ClickHouse にあるのか、それともその中間にあるのかを突き止めるためにサポートチケットを起票する必要がありました。

GA に向けて、リソース使用率とラグもレポートできるように組み込みのメトリクスとモニタリングを拡張しました。ClickPipes の UI および ClickHouse Cloud の Prometheus エンドポイントで、以下のメトリクスが利用可能になっています。

リソース使用率

CDC ClickPipes のスケールが必要となるシナリオ(例: スナップショット取得時やトラフィック急増時など)を独自に調査し、レプリケーションラグの根本原因からリソースの枯渇を除外するなど、基本的なトラブルシューティングのワークフローを実行できるようになりました。

  • CPU 使用率: サービス内のすべての CDC ClickPipes に割り当てられた容量に対する消費コア数。すなわち、プルプロセスとプッシュプロセスが現在どれだけのコンピュートを使用しているかを示します。
  • メモリ使用率: サービス内のすべての CDC ClickPipes に割り当てられた容量に対する消費メモリ。すなわち、プルプロセスとプッシュプロセスが現在どれだけの RAM を保持しているかを示します。
  • ネットワーク受信帯域幅: パイプのインバウンドスループット。すなわち、毎秒どれだけのデータがソースからプルされているかを示します。

レプリケーションラグ

データの鮮度や、レプリケーションの遅延がソース側、ClickHouse 側、あるいはその中間のどこで発生しているかを把握することも容易になりました。

  • ソースラグ: プルプロセスが MongoDB の Change Streams API からどれだけ遅れているか。すなわち、MongoDB で変更が発生してから ClickPipes がそれをプルするまでの時間を示します。
  • 送信先ラグ: プルされた変更が ClickHouse に反映されるまでにかかる時間。すなわち、変更がプルされてから宛先でクエリ可能になるまでの時間を示します。
  • エンドツーエンドラグ: 上記 2 つのメトリクスの合計。すなわち、MongoDB で変更が発生してから ClickHouse に反映されるまでの合計時間を示します。

Terraform および OpenAPI のサポート

ClickOps(すなわちユーザーインターフェースでボタンをクリックする操作)は導入時には便利ですが、本番環境のデプロイを管理するチームには、安全かつ決定論的で、バージョン管理された方法でリソースをプロビジョニングおよび管理するための Terraform のような標準ツールが必要です。他の ClickPipes タイプと同様に、MongoDB CDC ClickPipes も OpenAPI および Terraform(v3.14.0 以上)を使用して管理できます。既存の ClickPipes をソースコード管理下に置きたい場合は、こちらのブログ記事の手順に従って、それらのリソースを Terraform のステートにインポートしてください。


MongoDB CDC コネクタを仕上げて GA 水準へと引き上げるには、ブログ記事には収まりきらないほどの開発作業が必要でした(外部からの貢献もありました。削除イベント向けの pre-image レプリケーションの実装に尽力してくれた Abhash Solanki 氏に感謝します 🫡)。変更内容の全容をさらに詳しく調べたい場合は、PeerDB リポジトリをお使いのエージェントで参照してみることをお勧めします。

料金

この移行の一環として、MongoDB CDC ClickPipes の課金は 2026年11月4日より有効になっており、ClickHouse Cloud アカウントの次回請求サイクルに反映されます。このコネクタはデータ量に基づいた予測可能な価格モデルを採用しており、あらゆるタイプの全 CDC ClickPipes で共有されるサービスごとの固定コンピュートコストが適用されます。MongoDB CDC コネクタは、サードパーティの ETL ツールを使用する場合と比べて 5〜10 倍コストパフォーマンスに優れており、ClickHouse Cloud と各種データソースを接続するためのシームレスで手頃な選択肢として ClickPipes を提供するという私たちの取り組みを反映しています。詳細については、ClickPipes の課金ドキュメントをご覧ください。

MongoDB CDC コネクタの利用開始方法

MongoDB CDC コネクタは、すべてのサービスクラスにおいて、新規および既存の ClickHouse Cloud ユーザーにご利用いただけます。利用を開始するには、ClickHouse Cloud コンソールの Data Sources タブに移動し、MongoDB クラスターの接続詳細を設定するだけです。

YouTube Video: 3i13I4V5QIs

手順ごとの説明、よくある質問、注意点については、MongoDB ClickPipes のドキュメントをご覧ください。

MongoDB CDC コネクタを今すぐ試す

MongoDB データの分析を高速化する準備はできましたか? 今すぐ MongoDB CDC コネクタを試して、世界最速の分析データベースである ClickHouse Cloud とのフルマネージドかつネイティブな統合をお試しください。

サインアップ

この記事をシェア

  • Y Combinator icon
  • X icon
  • Bluesky icon
  • Facebook icon
  • LinkedIn icon

Subscribe to our newsletter

Stay informed on feature releases, product roadmap, support, and cloud offerings!

Follow us

XBlueskySlackGithubTelegramMeetupRSS