Atlas Online Archive
注意
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-1
Amazon 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 ]
databases
stores
で定義された各フェデレーティッドデータベースインスタンス ストアとオンライン アーカイブとの間のマッピングを定義するオブジェクトの配列。 各オブジェクトは、データベース、そのコレクション、および任意でコレクション上のビューを表します。 各データベースには複数の オブジェクトとcollections
views
オブジェクトを保持できます。
databases.[n].collections
各オブジェクトが
stores
フェデレーティッドデータベースインスタンス ストアにマッピングするコレクションとデータソースを表すオブジェクトの配列。
databases.[n].collections.[n].name
Atlas 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
)clusterName
Atlas クラスターの名前
databaseName
Atlas クラスター上のデータベースの名前
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 の構成には、ビジュアル エディターを使用した構成のデータセット数に制限はありません。