AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

時系列コレクション用の Atlas Online アーカイブ の構成

重要

Flex クラスターで利用できない機能

Flex クラスターは現時点ではこの機能をサポートしていません。詳しくは、 「Atlas Flex の制限事項」をご覧ください。

アーカイブ ルールを指定することで、時系列コレクション内のデータをアーカイブするように構成できます。アーカイブ ルールは、時間フィールドと、Atlas クラスターがアーカイブ前にデータを保存する日数を表す数値の組み合わせです。

MongoDB は時系列データをバケットドキュメントに保存します。Atlas Online アーカイブ はバケットドキュメントのみを対象としているため、列圧縮効率が維持されます。

Atlas クラスターをオンライン アーカイブ用に構成するには、次の手順に従います。

  1. コレクションの名前空間、timeField、クラスターにデータを保持する日数を指定して、アーカイブ ルールを作成します。

  2. (任意)アーカイブ データをパーティション分割するよくクエリされるフィールドを指定します。

クラスターで Online Archive を構成すると、Atlas はアーカイブ専用とアーカイブ用の 2 つのフェデレーティッドデータベースインスタンスをクラスター上に作成します。

すべてのオンライン アーカイブに適用される制限については、「制限」を参照してください。

Atlas Online アーカイブを構成する前に、Atlas クラスターが正常であることを確認してください。1 つのノードがダウンしている場合、クラスターが完全に機能するまでアーカイブは PENDING ステータスのままになります。

Atlas Online Archive を作成するには、プロジェクトに対するProject Data Access Admin以上のアクセス権が必要です。

アーカイブが利用可能かどうかを確認するには、プロジェクトに対するProject Read Only以上のアクセス権が必要です。

Atlas CLI を使用してクラスターのオンラインアーカイブを作成するには、次のコマンドを実行します。

atlas clusters onlineArchives create [options]

Atlas CLI を使用して特定のオンライン アーカイブが使用可能になるかどうかを確認するには、次のコマンドを実行します。

atlas clusters onlineArchives watch <archiveId> [options]

前のコマンドの構文とパラメーターについて詳しくは、Atlas CLIドキュメントの Atlas clusters onlineArchives create and Atlas clusters onlineArchives watch を参照してください。

API からオンライン アーカイブを構成するには、オンラインアーカイブエンドポイントにPOSTリクエストを送信します。

同じデータベースとコレクションに対して同じアーカイブ ルールを持つ Active オンライン アーカイブがクラスターにすでにある場合、操作は失敗します。ただし、既存のオンライン アーカイブが Paused または Deleted 状態にある場合は、新しいオンライン アーカイブが作成され、そのステータスは Active に設定されます。構文とオプションの詳細については、API を参照してください。

Atlas UIで時系列コレクション用のオンライン アーカイブを構成するには、次の手順に従います。

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. サイドバーで、 Database見出しの下のClustersをクリックします。

[ Clusters (クラスター) ] ページが表示されます。

2

サイドバーで、Online Archive をクリックします。

Atlas Online Archiveページが表示されます。

3

コレクションのオンライン アーカイブを設定するには、次をクリックします。

  • Configure Online Archive 1 回目は [] ボタンをクリックします。

  • Add Archive [] ボタンをクリックします。

4
5
  1. Namespaceフィールドに、データベース名、ドット( . )セパレーター、コレクション名( <database>.<collection> )を含むコレクション名前空間を指定します。

    オンライン アーカイブが作成された後は、名前空間を変更できません。

  2. 最適なパフォーマンスを確保するために、基礎の system.bucket.<collection>[control.closed, control.min.<date_field>] に複合インデックスを作成します。

  3. アーカイブされたデータを保存するクラウドプロバイダーのリージョンを選択します。

    重要: 別のリージョンを選択するとデータ転送コストが高くなる可能性があるため、可能であればクラスターと同じリージョンを選択することをお勧めします。

    Atlas では、クラスターが配置されているクラウドプロバイダーに基づいて、クラウドプロバイダーのリージョンが表示されます。 マルチクラウド クラスターの場合、Atlas には最も優先順位の高いプロバイダーのクラウドプロバイダー リージョンが表示されます。 Atlas は を表示しますクラスターが配置されているリージョンに近い、または完全に一致するリージョンの横にある。

    Atlasに配置されたAmazon Web Services クラスターの場合は、次のいずれかのリージョンを選択できます。

    Data Federation のリージョン
    Amazon Web Servicesリージョン
    Atlas リージョン

    米国バージニア州北部

    us-east-1

    US_EAST_1

    米国ワシントン州

    us-west-2

    US_WEST_2

    サンパウロ(ブラジル)

    sa-east-1

    SA_EAST_1

    アイルランド

    eu-west-1

    EU_WEST_1

    London, England, UK

    eu-west-2

    EU_WEST_2

    フランクフルト(ドイツ)

    eu-central-1

    EU_CENTRAL_1

    Tokyo, Japan

    ap-northeast-1

    AP_NORTHEAST_1

    韓国(ソウル)

    ap-northeast-2

    AP_NORTHEAST_2

    ムバイ(インド)

    ap-south-1

    AP_SOUTH_1

    香港

    ap-southeast-1

    AP_SOUTHEAST_1

    オーストラリア、シドニー

    ap-southeast-2

    AP_SOUTHEAST_2

    カナダ・ケベック州・モントリオール

    ca-central-1

    CA_CENTRAL_1

    Azureに配置された Atlas クラスターの場合、別のクラウドプロバイダーを使用しているクラスター上に他のオンラインアーカイブがない場合にのみ、 Azureリージョンを選択できます。 クラスター上の既存の Online Archive がアーカイブ データの保存にAmazon Web ServicesまたはGoogle Cloud Platformを使用している場合は、そのクラスター上の新しい Online Archive に対してAmazon Web ServicesまたはGoogle Cloud Platformのリージョンのみを選択できます。

    重要: Azureに配置されたクラスターの場合、 Amazon Web ServicesまたはGoogle Cloud Platformを使用する既存のオンラインアーカイブがあり、それらを削除する場合は、 Azureを使用する新しいオンラインアーカイブを作成する前に 5 日間待つ必要があります。この 5 日間に新しい Online アーカイブを作成しようとすると、最初に選択したクラウドプロバイダーがデフォルトでデフォルト。

    Azureに配置された Atlas クラスターの場合は、次のいずれかのリージョンを選択できます。

    Data Federation のリージョン
    Azure リージョン
    Atlas リージョン

    Virginia, USA

    eastus2

    US_EAST_2

    サンパウロ(ブラジル)

    brazilsouth

    BRAZIL_SOUTH

    オランダ語

    westeurope

    EUROPE_WEST

    AtlasGoogle Cloud Platformに配置された クラスターの場合、別のクラウドプロバイダーを使用しているクラスター上で他のオンラインアーカイブがない場合にのみ、Google Cloud Platform リージョンを選択できます。クラスター上の既存の Online Archive がアーカイブ データの保存にAmazon Web ServicesまたはAzureを使用している場合は、そのクラスター上の新しい Online Archive にはAmazon Web ServicesまたはAzureリージョンのみを選択できます。

    重要: Google Cloud Platformに配置されたクラスターの場合、Amazon Web ServicesまたはAzureを使用する既存のオンラインアーカイブがあり、それらを削除する場合は、Google Cloud Platformを使用する新しいオンラインアーカイブを作成する前に 5 日間待つ必要があります。この 5 日間に新しい Online アーカイブを作成しようとすると、最初に選択したクラウドプロバイダーがデフォルトでデフォルト。

    Atlasに配置されたGoogle Cloud Platform クラスターの場合は、次のいずれかのリージョンを選択できます。

    Data Federation のリージョン
    Google Cloud リージョン
    Atlas リージョン

    Iowa, USA

    us-central1

    IOWA_USA

    ベルギー

    europe-west1

    BELGIUM_EU

    重要: Atlas でオンラインアーカイブが作成された後は、ストレージリージョンを変更することはできません。

  4. [This is a Time Series Collection チェックボックスをオンにして、以下を指定します。

    • 各時系列ドキュメントの日付を含むフィールドの名前。 これは、時系列コレクションのtimeFieldに対応する必要があります。 ネストされたフィールドを指定するには、ドット表記を使用します。 オンライン アーカイブが作成された後は、時間フィールドを変更することはできません。

    • Atlas クラスターにデータを保持する日数。

    • 指定された日付フィールドの日付形式。 日付フィールド値はISODate形式である必要があります。

    重要

    Atlas は最初のアーカイブ実行中にインデックス十分性クエリを実行して、アーカイブ処理の効率を判断します。返されたドキュメント数に対するスキャンされたドキュメント数の比率が 10 以上の場合、そのクエリ結果では Index Sufficiency Warning を発行します。この警告は、効率的なアーカイブ プロセスに対してインデックスが不十分であることを示しています。日付ベースのアーカイブの場合は、日付フィールドにインデックス必要があります。式を使用するカスタム条件の場合、Atlas はクエリに対して値を評価する前に、まず値を変換する場合があります。

    インデックスの十分性に関するクエリは、十分なインデックスが検出されると実行を停止します。コレクションのインデックスが後で削除され、アーカイブプロセスが低速化する場合、Atlas は Index Sufficiency Warning を発行しません。

    注意

    MongoDB は時系列データをバケットドキュメントに保存します。各バケットは、 時系列コレクションからの多くの論理測定値を表します。MongoDB は、 WiredTigerページに書き込む前に各バケットを列圧縮します。WiredTiger は次に、ブロック圧縮してページを追加の圧縮効率を実現します。

    MongoDB Online アーカイブ はフルバケットドキュメントに対してのみ機能し、 各ドキュメントから個々の測定値を追加または除くことはありません。これにより、断片化を防ぎ、各バケットの列圧縮効率を維持します。

6
  1. (任意) Data Retention Periodを指定します。

    デフォルトでは、Atlas はアーカイブ データを削除しません。 ただし、 Data Retention Periodを指定した場合、アーカイブ データを保持するには、 79125日(25 年間)を指定できます。 Atlas は、ここで指定した日数の経過後にアーカイブ データを削除します。 このデータ有効期限ルールは、 Data Retention Period 24設定すると有効化されます。

    警告: Atlas がデータを削除すると、データを復元することはできません。

  2. (任意) Schedule Archiving Windowを指定します。

    デフォルトでは、Atlas は定期的にクエリを実行してデータをアーカイブします。 ただし、 Schedule Archiving Windowを切り替えて、Atlas でデータをアーカイブする時間枠を明示的にスケジュールできます。 次の項目を指定できます。

    • 頻度。 ジョブは毎日、特定の日に実行するか、毎月特定の日付に実行するかを選択できます。 毎月 29 日、30 日、または 31 日にデータ アーカイブ ジョブをスケジュールする場合、これらの日付がない月(たとえば 2 月)、Atlas はアーカイブ ジョブを実行しません。

    • 時間枠(単位は時間)。 Atlas がデータ アーカイブ ジョブを実行する期間を選択します。 少なくとも 2 時間を指定する必要があります。 実行中のジョブが指定された時間枠内に完了しない場合、Atlas そのジョブが完了するまで実行を続けます。

7
8

重要:アーカイブには少なくとも 1 つの パーティションフィールドが必要です。

コレクションから最も頻繁にクエリされるフィールドをそれぞれ フィールドとSecond most commonly queried field Third most commonly queried fieldフィールドに入力します。ネストされたフィールドを指定するには、ドット表記を使用します。 ドット表記を使用して指定するネストされたフィールドの前後に引用符( "" )を含めないでください。

警告

パーティション分割にはピリオド( . )を含むフィールド名は指定できません。

指定されたフィールドは、アーカイブ データのパーティション分割に使用されます。 パーティションはフォルダーに似ています。 日付フィールドは、 Date Match条件のデフォルトでパーティションの最初の位置にあります。 頻繁にクエリを実行する場合は、別のフィールドをパーティションの最初の位置に移動できます。

パスにリストされるフィールドの順序は重要です。指定されたパス内のデータは、最初に最初のフィールドの値によって分割され、次に 2 番目のフィールドの値によって分割されます。Atlas は、パーティションを使用して指定されたフィールドに対するクエリをサポートします。

たとえば、 sample_mflixデータベース内のmoviesコレクションに対してオンライン アーカイブを構成しているとします。 アーカイブされたフィールドが 3 番目の位置に移動したreleased日付フィールドで、最初のクエリされたフィールドがtitleで、2 番目のクエリされたフィールドがplotの場合、パーティションは次のようになります。

/title/plot/released

Atlas では、最初にtitleフィールド、次にplotフィールド、次にreleasedフィールドのパーティションが作成されます。 Atlas は、次のフィールドのクエリにパーティションを使用します。

  • title フィールド

  • titleフィールドとplotフィールド

  • titleフィールドとplotフィールドとreleasedフィールド

Atlas はパーティションを使用して、title および released フィールドに対するクエリをサポートすることもできます。ただし、この場合、クエリが title および plot フィールドのみに対するものである場合と比べて、Atlas はクエリのサポートにおいて効率的ではありません。オンライン アーカイブを効率的にクエリするには、定義されているすべてのパーティション フィールドを定義されている順序で含めます。すべてのパーティション フィールドを順序にクエリすると、特定のパーティションがターゲットになり、スキャンされるデータ量が最小限に抑えられます。title および released に対するクエリで plot が省略されるため、Atlas はこのクエリをサポートするにあたり、released パーティションよりも title パーティションをより効率的に使用します。

Atlas はパーティショニング戦略を使用して、ここで指定されていないフィールドに対するクエリを効率的にサポートすることはできません。 また、Atlas ではパーティションを使用して、 titleフィールドのない次のフィールドを含むクエリをサポートできません。

  • plot フィールド

  • releasedフィールド、または

  • plotフィールドとreleasedフィールド。

  • Amazon Web Servicesでサポートされている文字のみを含むフィールドを選択します。回避する文字の詳細については、 オブジェクトキー名の作成 を参照してください。Atlas はスキップし、サポートされていない文字を含むドキュメントをアーカイブしません。

  • 多形データを含まないフィールドを選択します。 Atlas は、コレクションから 10 個のドキュメントをサンプリングして、パーティション フィールドのデータ型を決定します。 ドキュメント内の指定されたフィールド値が同じコレクション内の他のドキュメントの値と一致しない場合、Atlas はドキュメントをアーカイブしません。

  • 頻繁にクエリを実行するフィールドを選択し、最初の位置では最も頻繁にクエリが実行されるフィールドから、最後の位置では最もクエリが少ないフィールドの順に並べ替えます。

重要: 年 6 月 2023 日より前に作成された Atlas Online Archive の場合、 MongoDB はAtlas Online Archive のクエリフィールドとして、濃度の高い string 型フィールドを推奨しません。濃度の高い string 型フィールドの場合、Atlas は多数のパーティションを作成します。これは、2023 年 6 月 日以降に作成された Atlas Online Archive には適用されません。詳しくは、MongoDBブログの記事をお読みください。

Atlas は次のパーティション属性タイプをサポートしています。

  • date

  • double

  • int

  • long

  • objectId

  • string

  • boolean

サポートされているパーティション属性のタイプの詳細については、「パーティション属性のタイプ 」を参照してください。

重要: explain コマンドを使用して、クエリを満たすために使用されたデータパーティションに関する情報を返すことができます。詳しくは、explain を参照してください。

パーティションを使用するとクエリのパフォーマンスは向上しますが、これらのフィールドを含まないクエリでは、アーカイブされたすべてのドキュメントのコレクション全体をスキャンする必要があり、時間がかかり、コストが増加します。 パーティションによって Atlas Data Federation でクエリ パフォーマンスが向上する方法の詳細については、「 S3 のデータ構造 」を参照してください。

9

次のアーカイブ ルールの設定を確認できます。

  • データベースとコレクションの名前

  • クラウドプロバイダーとクラウドプロバイダーのリージョンの名前

  • 時間フィールドの名前

  • Atlas クラスターにデータを保持する日数

  • アーカイブ データを削除する日数

  • データをアーカイブする頻度と時間枠

  • パーティション フィールド

必要に応じてこれらの設定を編集するには、 Backをクリックします。

10

クエリに対して explain を実行して、インデックスを使用しているかどうかを確認できます。フィールドにインデックスが作成されていない場合は、次の手順に進みインデックスを作成します。フィールドにすでにインデックスが作成されている場合は、最後の手順に進みます。

11
12
  1. Begin ArchivingConfirm an online archive[ タブで をクリックします。

  2. Begin ArchivingウィンドウでConfirmをクリックします。

警告:ドキュメントがアーカイブ用のキューに入れられると、ドキュメントを編集できなくなります。アーカイブされたデータを本番環境の Atlas クラスターに戻すには、オンラインアーカイブから特定のドキュメントを復元する を参照してください。