重要
The feature described on this page is not currently supported on Atlas Infinite clusters during public preview. For the features supported in public preview, see Public Preview Availability.
オンライン アーカイブを構成した後、次の操作を実行できます。
重要
オンラインアーカイブは、_idおよびシャードキーを使用して、クラスターからドキュメントを削除します。データ損失が発生しないようにするには、シャーディング操作を実行する前にアーカイブを一時停止し、アーカイブ対象となったドキュメントは更新しないようにし、アプリケーション内のすべてのドキュメントで_idの一意性を確保してください。
必要なアクセス権
オンライン アーカイブを表示またはクエリするには、プロジェクトに対するProject Read Only以上のアクセス権が必要です。
オンライン アーカイブを編集または削除するには、プロジェクトに対するProject Data Access Admin以上のアクセス権が必要です。
オンライン アーカイブの表示
Atlas CLI、 Atlas UI、 APIを使用して、クラスターのオンライン アーカイブの一覧を表示できます。
Atlas CLI を使用した Atlas Online Archive の取得
Atlas CLI を使用してクラスターのすべてのオンライン アーカイブを一覧表示するには、次のコマンドを実行します。
atlas clusters onlineArchives list [options]
Atlas CLI を使用して指定したオンライン アーカイブの詳細を返すには、次のコマンドを実行します。
atlas clusters onlineArchives describe <archiveId> [options]
前のコマンドの構文とパラメーターの詳細について詳しくは、Atlas CLI ドキュメントの Atlas clusters onlineArchives list および Atlas clusters onlineArchives describe を参照してください。
API を使用して Atlas Online Archive を取得する
To retrieve an online archive through the API, send a GET request to the onlineArchives endpoint with the unique ID of the online archive to retrieve. To learn more about the API syntax and options, see API.
API を使用してクラスターのすべてのオンライン アーカイブを取得
To retrieve all the online archives configured for a cluster using the API, send a GET request to the onlineArchives endpoint for the cluster. To learn more about the syntax and options, see API.
UI でのオンライン アーカイブの表示
Atlas Online Archive の一覧を表示するには:
Atlas で、プロジェクトの Clusters ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、 Database見出しの下のClustersをクリックします。
[ Clusters (クラスター) ] ページが表示されます。
ページには、クラスターのオンライン アーカイブが表示されます。 各オンライン アーカイブについて、次の情報を表示できます。
注意
年 6 月 日のリリースで利用可能な新しいメトリクスの値は、 7 Date Match 2023のリリース後に作成されたオンライン アーカイブの Atlas UI にのみ表示されます。 時系列 Online Archive を作成する場合、またはリリース日後に既存のオンライン アーカイブが存在する場合、Atlas はメトリクス値の代わりにN/Aを表示します。
列名 | 説明 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Status | オンライン アーカイブのステータス。 値は次のいずれかになります。
| ||||||||||||||
Actions | Online Archiveで実行できる操作。 | ||||||||||||||
Archive Field | アーカイブされたドキュメントに基づく日付フィールド。 | ||||||||||||||
Custom Criteria | カスタムJSONフィルター。 このコード コンポーネントではスクロールが可能です。 [] アイコンをクリックしてビューを展開し、完全なカスタム条件を表示します。 | ||||||||||||||
Age Limit | アーカイブのドキュメントを資格化するために使用される日数。 | ||||||||||||||
Deletion Age Limit | アーカイブ内のデータを削除する日数。 | ||||||||||||||
Total Data Archived | アーカイブに保存される非圧縮データ サイズ。 アーカイブ内のドキュメント数を表示するには、 をカーソルします。 新しいオンラインアーカイブでのみ使用可能なメトリクス。 | ||||||||||||||
Last Archived Run | アーカイブが最後に実行されたとき、開始日付とタイムスタンプ。 カーソルを合わせると、最後の 5 つのジョブが表示されます。 各ジョブは、開始日、開始時間、アーカイブ期間、ドキュメント数、サイズとともに表示されます。 | ||||||||||||||
Partition Fields | クラウド オブジェクト ストレージ上のデータをパーティション分割するために使用されるその他の一般的に使用されるクエリ フィールド。 | ||||||||||||||
Schedule | アーカイブ ウィンドウ ケイデンス。 値は次のとおりです: - | ||||||||||||||
Min Date Field | アーカイブ内のすべてのドキュメントの最小日付値。 Metric available only for new Online Archives on Atlas Data Federation. | ||||||||||||||
Max Date Field | アーカイブ内のすべてのドキュメントの最大日付値。 Atlas Data Federation の新しい Online Archive でのみ利用可能なメトリクス。 |
Online Archive のパフォーマンスメトリクスの表示
Atlas UI で Atlas Online Archive のメトリクスを表示するには:
Atlasで、プロジェクトのフェデレーティッドデータベースインスタンスにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Services見出しの下のData Federationをクリックします。
Data Federationページが表示されます。
アーカイブ ルールの編集
Atlas クラスター上でデータを保持する日数(Age Limit)、またはアーカイブするドキュメントを選択するために使用されるカスタム JSON クエリは、Atlas UI と API から変更できます。アーカイブ基準は Date Matchから Custom Filter へあるいはその逆方向へ変更できません。
Atlas CLI を使用したアーカイブ ルールの編集
Atlas CLI を使用してクラスターのオンライン アーカイブを更新するには、次のコマンドを実行します。
atlas clusters onlineArchives update <archiveId> [options]
To learn more about the command syntax and parameters, see the Atlas CLI documentation for atlas clusters onlineArchives update.
API を使用してアーカイブ ルールを編集
To edit an online archive through the API, send a PATCH request to the onlineArchives endpoint with the unique ID of the online archive to update. To learn more about the API syntax and options, see API.
UI を通じてアーカイブ ルールを編集
Atlas UI でオンライン アーカイブを編集するには、以下の手順に従います。
Atlas で、プロジェクトの Clusters ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、 Database見出しの下のClustersをクリックします。
[ Clusters (クラスター) ] ページが表示されます。
オンライン アーカイブのActions列の省略記号( ... )をクリックすると、許可されたアクションのリストが表示されます。 ここでは、次の作業が可能です。
Pause Archiving (状態がActiveの場合のみ)
Edit Archive
Delete Archive
Resume Archiving (状態がPausedの場合のみ)
Edit Archiveドロップダウンから を選択して、アーカイブ ルール、アーカイブ データを保持する日数、データ アーカイブ ジョブの実行中時間ウィンドウを変更します。
アーカイブ データを削除するアーカイブ基準と日数を変更できます。
Date Match基準を編集するには、 Archival Age Limitセクションのアクティブな Atlas クラスターに Atlas がデータを保存する日数を変更します。
Custom Criteriaを編集するには、有効なJSONフィルターを入力して、アーカイブするドキュメントを選択します。
注意
Atlas uses the specified query with the db.collection.find(query) command. Custom queries do not support JavaScript expressions. Also, you can't pass an empty document
{}to return all documents.Atlas がアーカイブ データを削除する日数を変更するには、 Deletion Age Limitセクションに日数を入力または変更します。
7から9125日の間で指定するか、 フィールドを空のままにしてデータ有効期限ルールを無効にすることができます。 この変更が有効になるまでには 24 時間かかります。データ アーカイブ ジョブのスケジュールされた時間を変更するには、次のいずれかを変更します。
頻度。 ジョブは毎日、特定の日に実行するか、毎月特定の日付に実行するかを選択できます。 毎月 29 日、30 日、または 31 日にアーカイブする場合、それらのAtlasを含まない月のアーカイブ ジョブは実行されません。
時間枠。 Atlas がデータ アーカイブ ジョブを実行する期間を選択します。 少なくとも 2 時間を指定する必要があります。
また、 Schedule Archive Windowを切り替えてスケジュールを無効にすることもできます。 スケジュールを無効にすると、Atlas はデフォルトのスケジュールに戻り、アーカイブ ジョブを定期的に実行します。
Atlas は、変更後すぐに新しいデータ アーカイブ スケジュールの使用を開始します。 ただし、アーカイブ ジョブが現在実行中の場合、Atlas は実行中のジョブを中断することはなく、ジョブが完了した後に設定が有効になります。
クラウド オブジェクト ストアでのパーティションの編集
You can't modify the partition fields or structure from the Atlas UI or API. However, you can manually migrate the data from the cloud object storage using $merge, use $merge to rehydrate data back to Atlas cluster, delete the online archive, and then create a new online archive for the collection with the desired partition fields and structure.
クエリ Atlas Online Archive
アーカイブされたデータに対してクエリを実行できます。
注意
Atlas Data Federation は、ドキュメント内のフィールドの順序を保持しない列指向ストレージを使用します。 したがって、Atlas Data Federation は、アーカイブ データの機密性が高いデータに対してフィールド順序を持つクエリをサポートしていません。
接続文字列
To run queries, you must first connect to your Online Archive. Your cluster connection string allows you to only query data in your Atlas cluster. To query your Online Archive, you must use one of the following:
Atlas Online Archive とクラスターへの接続- この読み取り専用接続文字列では、本番環境クラスターから直接データを読み取ることができます。 これは、 IOPSと Atlas Online Archive の利用可能なリソースに影響します。
Online Archive への接続- この読み取り専用接続文字列では、Online Archive からのみデータを読み取ることができ、クラスター リソースには影響しません。
パフォーマンスに関する考慮事項
一般に、アーカイブ データに対するクエリは、Atlas クラスター上のデータに対するクエリよりもはるかに遅くなります。 フェデレーティッド接続文字列を介してクラスターとオンラインアーカイブ内のデータをクエリする場合:
結果を返す前にすべての入力ドキュメントを消費してソート操作に処理するソートなどのブロッキングクエリは、クエリされる最も遅いストレージであるアーカイブに関連付けられたパフォーマンス特性があります。 ソート操作では、結果を返す前にソースからのすべてのデータがクエリされている必要があります。
検索などのストリーミング クエリには、クエリ対象の最もパフォーマンスが高いストレージである Atlas クラスターに関連するパフォーマンス特性があります。 Atlas は利用可能になるとすぐに結果を返すため、 アーカイブから結果を返すには、Atlas クラスターから結果を返すよりも時間がかかります。
クエリの価格
フェデレーティッド クエリとアーカイブ専用クエリでは、次の項目のコストが発生します。
データスキャン
データスキャン中に、Atlas はクラスターとアーカイブの両方のデータを処理します。 Atlas は、スキャンが必要なデータ量を最小限に抑えるために、クラスターに対して可能な限り多くのクエリを実行します。 たとえば、特定の値を指定するmatchクエリの場合、Atlas は指定された値を持つドキュメントのみをクラスターから検索します。 次に、Atlas は取得されたドキュメントをアーカイブされたデータと結合して返します。
基礎のクラスターに保存されているすべてのデータにアクセスする必要があるブロック クエリの場合、Atlas はすべてのデータを検索します。 たとえば、 sort ( matchがない場合)の場合、Atlas はクラスターとアーカイブから並べ替え対象のすべてのデータを検索します。
データアクセス
MongoDB は、アーカイブ内のクエリを実行するパーティションごとに料金を請求します。 クエリで特定のパーティションのクエリが必要な場合、MongoDB はパーティションをダウンロードし、ダウンロードされた各パーティションは 1 回のアクセスに対応します。
データ検索
クエリ フィールドと クエリ フィールドに基づいてパーティションを検索するために、Atlas はアーカイブに対して操作を実行します。 Atlas が実行するこのような操作ごとに、最大 1000 個のパーティションが検索されます。 Atlas は、クエリを満たすために必要なパーティションを見つけるために、必要な最小数の操作を実行します。 たとえば、クエリに、クエリ フィールドでカバーされる 100 個のパーティションが必要な場合、Atlas はクエリを満たすために 1 回の操作のみを実行します。
データ転送
フェデレーティッド インフラストラクチャに転送されるデータには、データ転送コストが発生します。
Atlas Online Archive の削除
You can delete an online archive through the Atlas CLI, Atlas UI, and API. You delete the online archive manually. Five days after you delete an online archive, Atlas automatically deletes all the files and metadata on the online archive storage. After Atlas deletes this data, you can't restore it.
If you drop a database or collection configured for online archive, the data from the collection, if archived, continues to be available on the cloud object storage. You incur costs for storage on the cloud object storage. Alternatively, if you delete the cluster, Atlas deletes all the online archives configured for the cluster. This also deletes any archived data from the cloud object storage.
オンライン アーカイブをすべて削除すると、フェデレーティッドデータベースインスタンスも削除され、オンライン アーカイブを再度作成すると、新しいフェデレーティッドデータベースインスタンスが作成されます。
オンライン アーカイブを削除すると、その状態はDeletedに移行します。 Active状態のデータベース、コレクション、フィールドを対象とするオンライン アーカイブが存在しない場合は、削除したオンライン アーカイブと同じデータベース、コレクション、フィールド用に別のオンライン アーカイブを作成できます。
Atlas CLI を使用した Atlas Online Archive の削除
Atlas CLI を使用してクラスターのオンライン アーカイブを削除するには、次のコマンドを実行します。
atlas clusters onlineArchives delete <archiveId> [options]
To learn more about the command syntax and parameters, see the Atlas CLI documentation for atlas clusters onlineArchives delete.
UI からの Atlas Online Archive の削除
Atlas UI でオンライン アーカイブを削除するには、以下の手順に従います。
Atlas で、プロジェクトの Clusters ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、 Database見出しの下のClustersをクリックします。
[ Clusters (クラスター) ] ページが表示されます。
オンライン アーカイブのActions列の省略記号( ... )をクリックすると、許可されたアクションのリストが表示されます。 ここでは、次の作業が可能です。
Pause Archiving (状態がActiveの場合のみ)
Edit Archive
Delete Archive
Resume Archiving (状態がPausedの場合のみ)
API を介した Atlas Online Archive の削除
To delete an online archive through the API, send a DELETE request to the onlineArchives endpoint with the unique ID of the online archive to delete. To learn more about the syntax and options, see API.
アーカイブ用にマークされた時系列バケットを除く
When Online Archive archives a time series collection, it first sets the internal control.closed field to true on each bucket that it marks for archival. After this field is set, the time series collection doesn't allow writes to the bucket. Inserts that would target the bucket write to another bucket or open a new one. Updates and deletes through the time series collection ignore the bucket.
オンラインアーカイブがこれらのバケットをクラスターから除く前にオンラインアーカイブを削除すると、バケットはクラスターに残ります。時系列コレクションに対する削除する操作は、これらのバケットに含まれるドキュメントに対して0のdeletedCountを返します。
To remove these buckets, run a delete operation directly against the buckets. To run this operation, your database user must have the readWriteAnyDatabase role. The method depends on your MongoDB version:
8.2より前のMongoDBバージョンの場合、
system.buckets.<collection>コレクションで削除する操作を実行します。For MongoDB 8.2 and later, run the
deletecommand on the time series collection with therawData: trueoption.
警告
この手順を実行すると、クラスターからデータが完全に削除されます。オンラインアーカイブがこれらのバケットをオンラインアーカイブにコピーする前に削除した可能性があります。バケットを削除する前に、データがバックアップまたはオンラインアーカイブに存在することを確認し、フィルターが削除する予定のバケットのみに一致していることを確認してください。
削除するバケットを特定します。
削除する操作に使用する予定のフィルターと同じフィルターでクエリを実行する、結果を検討する。<database>、<collection>、<timeField>を自分の値に置き換え、cutoffをバケットを削除する前の日付に設定します。
const cutoff = ISODate("2026-03-01T00:00:00Z"); db.getSiblingDB("<database>") .getCollection("system.buckets.<collection>") .find({ "control.closed": true, "control.max.<timeField>": { $lte: cutoff } }) .itcount()
バケットを削除する。
const cutoff = ISODate("2026-03-01T00:00:00Z"); db.getSiblingDB("<database>") .getCollection("system.buckets.<collection>") .deleteMany({ "control.closed": true, "control.max.<timeField>": { $lte: cutoff } })
const cutoff = ISODate("2026-03-01T00:00:00Z"); db.getSiblingDB("<database>").runCommand({ delete: "<collection>", deletes: [ { q: { "control.closed": true, "control.max.<timeField>": { $lte: cutoff } }, limit: 0 } ], rawData: true })