継続的バックアップ モードの Azure Cosmos DB アカウントの最新の復元可能なタイムスタンプ
[アーティクル]
適用対象: NoSQL MongoDB Gremlin Table
Azure Cosmos DB には、コンテナーの最新の復元可能なタイムスタンプを取得するための API が用意されています。 この API は、継続的バックアップ モードが有効になっているアカウントで使用できます。 復元可能な最新のタイムスタンプは、データが正常にバックアップされた UTC 形式の最新のタイムスタンプを表します。 この API を使用すると、復元可能なタイムスタンプを取得して、ライブ アカウントの復元をトリガーしたり、データが時間内にバックアップされていることを監視したりできます。
この API には、アカウントの場所を入力パラメーターとして受け取り、この場所の特定のコンテナーに対する最新の復元可能なタイムスタンプを返す機能もあります。 アカウントが複数の場所に存在する場合、各場所のバックアップが個別に取得されるため、異なる場所のコンテナーの最新の復元可能なタイムスタンプは異なる可能性があります。
この API を使って、アカウントを削除する前にデータが正常にバックアップされたことを判定できます。 この API によって返されるタイムスタンプが最後の書き込みタイムスタンプより前の場合は、まだバックアップされていないデータがあることを示します。 このような場合は、タイムスタンプが最後の書き込みタイムスタンプ以降になるまで、この API を呼び出す必要があります。 アカウントが複数の場所に存在する場合は、すべての場所で最新の復元可能なタイムスタンプを取得して、アカウントを削除する前に、すべてのリージョンでデータがバックアップ済みであることを確認する必要があります。
この API を使用して、データが時間内にバックアップされることを監視できます。 このタイムスタンプは、通常、現在のタイムスタンプから数百秒以内ですが、それを超える場合があります。
Semantics
コンテナーの復元可能な最新のタイムスタンプは、ある場所にあるすべてのパーティションのバックアップが作成された時点までの最小タイムスタンプです。 この API は、ある場所にあるコンテナーのパーティションごとに最新のバックアップ タイムスタンプを取得して、復元可能な最新のタイムスタンプを計算し、それらすべてのタイムスタンプの最小タイムスタンプを返します。 すべてのパーティションのデータがバックアップされ、それらのパーティションに書き込まれた新しいデータがない場合は、現在のタイムスタンプと最後のデータ バックアップ タイムスタンプの最大値が返されます。
さまざまなシナリオで、最新の復元可能なタイムスタンプ API から返されることが予想される結果について、次の例で説明します。 各シナリオでは、パーティションの現在のログ バックアップ状態、バックアップする保留中のデータ、それらがコンテナーの復元可能なタイムスタンプの計算全体に与える影響について説明します。