注意
Atlas Data Federation では、新しいOnline Archive のみをデータソースとして使用できます。 MongoDB Blog詳細については、 記事 「 パフォーマンス向上とメトリクスの強化を伴う Atlas Online Archive の新しいアーカイブ」 に関する記事をお読みください。
Atlas Data Federation は、Atlas オンライン アーカイブをフェデレーティッドデータベースインスタンス ストアとしてサポートします。 データに対してクエリを実行するには、フェデレーティッドデータベースインスタンスのストレージ構成でオンラインアーカイブへのマッピングを定義する必要があります。
重要
ストレージ構成内の情報は MongoDB の内部で表示され、Atlas Data Federation のパフォーマンスを監視して改善するための運用データとして保存されます。 したがって、構成では PIIを使用しないことをお勧めします。
Atlas Online Archiveデータストアの構成例
例
Atlas Online Archive次のAmazon Web Services を持つ によってサポートされているID について考えてみます。
v1$atlas$archive$V3metrics$hardware$69437250-b9da-4ae9-a1cd-8811462c38a4$64679f7c09f07374b4dcc914
オンライン アーカイブには、Atlas クラスター内の metrics.hardwareからのアーカイブ データが含まれています。 以下は次のように構成されます。
リージョンのAtlas Online Archive
us-east-1Amazon Web Servicesをフェデレーティッドデータベースインスタンス ストアとして指定します。Atlas Online Archiveのドキュメントを、ストレージ構成の
dataCenter.inventoryコレクションにマッピングします。
{ "stores" : [ { "name" : "atlasOnlineArchiveStore", "provider" : "dls:aws", "region" : "us-east-1" } ], "databases" : [ { "name" : "dataCenter", "collections" : [ { "name" : "inventory", "dataSources" : [ { "storeName" : "atlasOnlineArchiveStore", "datasetName" : "v1$atlas$archive$V3metrics$hardware$69437250-b9da-4ae9-a1cd-8811462c38a4$64679f7c09f07374b4dcc914", "provider" : "dls:aws" } ] } ] } ] }
注意
Amazon Web Servicesはオンライン アーカイブをサポートしているため、この例では provider は dls:aws に設定されています。 Azureがオンライン アーカイブをサポートしている場合、 providerはdls:azureになります。
Atlas Data Federation は、オンライン アーカイブ内のすべてのドキュメントをストレージ構成のdataCenter.inventoryコレクションにマッピングします。
フェデレーティッドデータベースインスタンスに接続したユーザーは、MongoDB クエリ言語とサポートされている集計を使用し、 dataCenter.inventoryコレクションを通して Atlas クラスター内のデータを分析できます。
構成フォーマット
Atlas Online Archiveのフェデレーティッドデータベースインスタンス構成の形式は次のとおりです。
1 { 2 "stores" : [ 3 { 4 "name" : "<string>", 5 "provider": "<string>", 6 "region": "<string>" 7 } 8 ], 9 "databases" : [ 10 { 11 "name" : "<string>", 12 "collections" : [ 13 { 14 "name" : "<string>", 15 "dataSources" : [ 16 { 17 "storeName" : "<string>", 18 "datasetName" : "<string>", 19 "datasetPrefix": "<string>", 20 "trimLevel": <int>, 21 "provenanceFieldName": "<string>", 22 "maxDatasets": <int> 23 } 24 ] 25 } 26 ], 27 "views" : [ 28 { 29 "name" : "<string>", 30 "source" : "<string>", 31 "pipeline" : "<string>" 32 } 33 ] 34 } 35 ] 36 } 37
stores
1 "stores" : [ 2 { 3 "name" : "<string>", 4 "provider": "<string>", 5 "region": "<string>" 6 } 7 ]
stores各オブジェクトがフェデレーティッドデータベースインスタンスに関連付けるデータ ストアを表すオブジェクトの配列。 フェデレーティッドデータベースインスタンス ストアは、 S 3バケット内のファイル、Atlas クラスター内のドキュメント、一般にアクセス可能なURLに保存されているファイル、または Atlas オンライン アーカイブを参照します。 Atlas Data Federation は、
storesオブジェクトで定義されたデータ ストアにのみアクセスできます。
stores.[n].nameフェデレーティッドデータベースインスタンス ストアの名前。
databases.[n].collections.[n].dataSources.[n].storeNameフィールドは、マッピング構成の一部としてこの値を参照します。
stores.[n].providerスナップショット データが保存されるクラウドプロバイダー。 スナップショットの場合、値は
dls:<subtype>である必要があります。 Atlas Data Federation は次のサブタイプをサポートしています。aws、値は次です:dls:aws
stores.[n].regionオンライン アーカイブのリージョン名。 各ストアは、アーカイブされたデータが保存される 1 つのリージョンに関連付けられています。 異なるリージョンに複数のオンライン アーカイブがある場合は、各リージョンのストアを追加して、そのリージョンのデータをフェデレーティッドデータベースインスタンス内の仮想データベースとコレクションにマッピングする必要があります。
Amazon Web Servicesでサポートされているリージョンの詳細については、「 Atlas Data Federationのリージョン 」を参照してください。
databases
1 "databases" : [ 2 { 3 "name" : "<string>", 4 "collections" : [ 5 { 6 "name" : "<string>", 7 "dataSources" : [ 8 { 9 "storeName" : "<string>", 10 "datasetName" : "<string>", 11 "datasetPrefix": "<string>", 12 "trimLevel": <int>, 13 "provenanceFieldName": "<string>", 14 "maxDatasets": <int> 15 } 16 ] 17 } 18 ], 19 "views" : [ 20 { 21 "name" : "<string>", 22 "source" : "<string>", 23 "pipeline" : "<string>" 24 } 25 ] 26 } 27 ]
databasesstoresで定義された各フェデレーティッドデータベースインスタンス ストアとオンライン アーカイブとの間のマッピングを定義するオブジェクトの配列。 各オブジェクトは、データベース、そのコレクション、および任意でコレクション上のビューを表します。 各データベースには複数の オブジェクトとcollectionsviewsオブジェクトを保持できます。
databases.[n].collections各オブジェクトが
storesフェデレーティッドデータベースインスタンス ストアにマッピングするコレクションとデータソースを表すオブジェクトの配列。
databases.[n].collections.[n].nameAtlas Data Federation が各
databases.[n].collections.[n].dataSources.[n].storeNameに含まれるデータをマッピングするコレクションの名前。配列内の各オブジェクトは、コレクションとstores配列内のオブジェクトとの間のマッピングを表します。コレクション名に
*を指定することで、コレクション名を動的に生成できます。 コレクション名を動的に生成するには、以下も指定する必要があります。ワイルドカード コレクションの場合、Atlas Data Federation は最初に名前空間を
$区切りのフィールドのリストに分割し、次にリストの左側からいくつかのフィールドを削除し、最後に以下を組み合わせて、データセット名をコレクション名にマッピングします。残りのフィールドに_を使用します。
databases.[n].collections.[n].dataSourcesコレクションにマッピングするために、
stores配列にあるフェデレーティッドデータベースインスタンスを表すオブジェクトの配列。 コレクションのすべてのdataSourcesがオンライン アーカイブstoresにマップされている場合にのみ、ワイルドカード コレクションに複数のdataSourcesを指定できます。
databases.[n].collections.[n].dataSources.[n].storeName<collection>にマッピングするフェデレーティッドデータベースインスタンス ストアの名前。stores配列内のオブジェクトのnameと一致する必要があります。
databases.[n].collections.[n].dataSources.[n].datasetNameコレクションにマッピングするオンライン アーカイブ データセットの名前。
datasetNameの形式は次のとおりです。<version>$<type>$<subtype>$<clusterName>$<dbName>$<collectionName>$<archiveId> 例
次のオンライン アーカイブの名前を考えてみましょう。
v1$atlas$archive$clusterName$dbName$collections$archiveId 以下の説明では、
v1は、 のバージョンですatlasは、データソースの型ですarchiveは、サブタイプであり、clusterNameは、Atlas クラスターの名前ですdbNameは、Atlas クラスター上のデータベースの名前ですcollectionは、 データベース内のコレクションarchiveIdは、アーカイブされたデータの一意の識別子です
注意
非ワイルドカード コレクションの場合、
databases.[n].collections.[n].dataSources.[n].datasetPrefixオプションを指定する場合はこのオプションを指定できません。Atlas Data Federation はdatabases.[n].collections.[n].dataSources.[n].datasetPrefixオプションで指定された名前を使用して、最新のデータセットのコレクションを自動的に生成するためです。
databases.[n].collections.[n].dataSources.[n].datasetPrefixワイルドカード コレクションに必須です。
オンライン アーカイブ データセット名と照合するためのデータセット名のプレフィックス。 ワイルドカード コレクションにこれを設定すると、Atlas Data Federation はコレクションを にマッピングし、プレフィックスがここで指定された値と一致するオンライン アーカイブ データセット名のみにマッピングします。
非ワイルドカード コレクションに対してこの設定を指定すると、Atlas Data Federation は最新のデータセット(最後にキャプチャされたスナップショット)のみをコレクションにマッピングします。 非ワイルドカード コレクションに対してこのオプションを指定する場合、
databases.[n].collections.[n].dataSources.[n].datasetNameも指定できません。例
{ ..., "name": "myFederatedDbCollection", "dataSources": [ { "storeName": "aws-dl-store", "datasetPrefix": "v1$atlas$archive$MyCluster$MyDB$MyArchiveId" } ] }
databases.[n].collections.[n].dataSources.[n].trimLevel残りのフィールドをワイルドカード コレクション名にマッピングする前に、データセット名の左側から削除するデータセット名のフィールドの数を指定する符号なし整数。 値は
0より大きく、7より小さくなければなりません。この設定は ワイルドカード コレクションでのみ設定できます。Atlas UI のビジュアル エディターを使用してこの設定を構成することはできません。 したがって、この設定はデフォルトでビジュアル エディターを使用する構成の削除レベル
5になります。
databases.[n].collections.[n].dataSources.[n].provenanceFieldName結果にドキュメントの出所が含まれるフィールドの名前。ストレージ構成でこの設定を指定すると、Atlas Data Federation は結果の各ドキュメントに対して次のフィールドを返します。
フィールド名説明providerフェデレーティッドデータベースインスタンスストレージ構成のプロバイダー(
stores.[n].provider)clusterNameAtlas クラスターの名前
databaseNameAtlas クラスター上のデータベースの名前
collectionNameコレクションの名前
snapshotIDスナップショットを識別する一意の 24 桁の 16 進数文字string
dataSetNameオンライン アーカイブ データセットの名前(
databases.[n].collections.[n].dataSources.[n].datasetName)Atlas UI のビジュアル エディターを使用してこの設定を構成することはできません。
databases.[n].collections.[n].dataSources.[n].maxDatasetsデータソースのコレクションを動的に生成するデータセットの最大数を指定する、符号なし整数。
0より大きい値を指定する必要があります。 この設定は ワイルドカード コレクションでのみ設定できます。 Atlas Data Federation は、辞書編集順の逆順でデータセットを返します。注意
Atlas UI のビジュアル エディターを使用してこの設定を構成することはできません。 したがって、Atlas Data Federation の構成には、ビジュアル エディターを使用した構成のデータセット数に制限はありません。