MongoDB データベースからデータをストリーミングする

Datastream は、MongoDB ソースからの変更イベントのレプリケーションをサポートしています。MongoDB は、JSON に似たドキュメントを使用するオープンソースの NoSQL データベースです。1 つのドキュメントに他のドキュメントを埋め込むことができます。ドキュメントはコレクションにまとめられ、MongoDB データベースには 1 つ以上のドキュメント コレクションが保存されます。

リレーショナル SQL データベースのように行と列のテーブルにデータを保存するのではなく、MongoDB データベースの各レコードは、データのバイナリ表現であるバイナリ JSON(BSON)で記述されたドキュメントです。アプリケーションは、このデータを JSON 形式で取得できます。

このページには、次に関する情報が記載されています。

  • MongoDB データベースからレプリケートする際に理解しておく必要がある重要な用語
  • Datastream が移行元 MongoDB データベースから pull されているデータを処理する方法の動作
  • Datastream がサポートする MongoDB のバージョンとエディション
  • MongoDB を移行元として使用する場合の既知の制限事項

主な用語

MongoDB ソースを操作する際に理解しておく必要がある主な用語は次のとおりです。

  • SRV 接続: ドメイン名サービス(DNS)サービス レコード(SRV)に対応するホスト名を含む接続文字列。文字列の形式は次のとおりです。

    mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]

    詳細については、MongoDB のドキュメントをご覧ください。

  • 標準接続文字列: セルフホスト型の MongoDB スタンドアロン デプロイ、レプリカセット、シャーディングされたクラスタへの接続に使用される MongoDB 接続 URI の標準形式。文字列の形式は次のとおりです。

    mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

    詳細については、MongoDB のドキュメントをご覧ください。

  • レプリカセット: レプリケーションと自動フェイルオーバーを実装する MongoDB サーバーのクラスタ。レプリカセットは冗長性と高可用性を提供し、すべての本番環境デプロイの基盤となります。

  • シャーディングされたクラスタ: MongoDB のシャーディングされたクラスタは、シャード、mongos、構成サーバーで構成されます。MongoDB はコレクション レベルでデータをシャーディングし、クラスタ内のシャードにコレクション データを分散します。

  • mongos: クライアント アプリケーションとシャーディングされたクラスタ間のインターフェース。mongos はクエリ ルーターとして機能し、シャードにオペレーションを書き込みます。

  • コレクション: MongoDB はデータを階層構造で整理します。MongoDB デプロイには 1 つ以上のデータベースが含まれ、各データベースには 1 つ以上のコレクションが含まれます。各コレクションで、MongoDB はフィールドと値のペアを含むドキュメントとしてデータを保存します。コレクションは、リレーショナル データベースのテーブルに似ています。

動作

ソース MongoDB データベースは、変更ストリームを使用して変更を宛先に複製します。変更ストリームを使用すると、リアルタイム データにアクセスできます。変更ストリームは、レプリカセットとシャーディングされたクラスタでサポートされています。

  • 構成されている場合、含まれるオブジェクトのすべての過去のデータが複製されます。
  • 指定したオブジェクトからの挿入、更新、削除など、すべての変更が複製されます。

バージョン

Datastream は、5.0 以降の MongoDB バージョンをサポートしています。

既知の制限事項

MongoDB を移行元として使用する場合の既知の制限事項は次のとおりです。

  • Datastream API を使用する場合は、ストリームから除外するフィールドのみを指定できます。フィールドの包含リストの指定はサポートされていません。
  • 厳格モードでは、Infinity、-Infinity、NaN の数値はサポートされていません。厳格モードでこれらの値が含まれている場合、ドキュメントは破棄されます。データベースにこれらの値が含まれている場合は、正規モード(デフォルト)を使用します。詳細については、MongoDB のデータ型をご覧ください。
  • Datastream は、リクエスト ユニット(RU)ベースの Azure Cosmos DB をサポートしていません。
  • Datastream は Amazon DocumentDB Elastic Clusters をサポートしていません。
  • MongoDB は変更ストリームをサポートしていないため、Datastream は MongoDB の時系列コレクションから変更イベントを複製しません。Datastream は時系列コレクションのみをバックフィルし、バックフィル後に行われた挿入、更新、削除は複製しません。

次のステップ