ApsaraDB for MongoDBインスタンスは、キーベースのフラッシュバック機能をサポートしています。 この機能を使用すると、特定のデータコレクションをバックアップできます。これにより、システムの脆弱性や障害によりデータが乱れたり失われたりした場合のフラッシュバックキーに基づいて、データのアーカイブと迅速な復元が強化されます。 デフォルトでは、フラッシュバックキーは_idです。
キーベースのフラッシュバック機能は、2024年2月26日からパブリックプレビューされています。 パブリックプレビュー中は課金されません。 この機能のサービスレベル契約 (SLA) は、パブリックプレビュー中に保証されません。
前提条件
レプリカセットまたはシャードクラスターインスタンスが作成されます。
インスタンスのストレージタイプはクラウドディスクです。
インスタンスのメジャーバージョンはMongoDB 5.0以降です。
キーベースのフラッシュバック機能はパブリックプレビュー中です。 機能を使用するには、
テクニカルサポートに連絡してください。
使用上の注意
キーベースのフラッシュバック機能は、インスタンスのパフォーマンスを損なう可能性があります。 たとえば、インスタンスのTPSパフォーマンスが最大3% 低下する場合があります。
前述の低下したインスタンスのパフォーマンス値は参照用です。 実際のデータが優先されます。
機能の説明
機能 | 項目 | 説明 |
タスクの設定 | 設定が完了した後にフラッシュバックタスクが有効になる時間 | 10 分 |
フラッシュバックデータの保持期間 | 1から7日。 | |
フラッシュバックデータの復元時間 | 機能が有効になってから現在までの時間。 フラッシュバックバックアップの保持期間中に、指定された時間と行IDに基づいてキーでフラッシュバックを実行できます。 | |
Flashbackバックアップ | サポートされるフラッシュバック操作 |
|
サポートされている行ベースのインデックスタイプ |
| |
インデックスをサポートするデータ型 | 次のデータ型のみがサポートされています。
| |
インデックスフィールド | フィールド名には、英数字、およびアンダースコア (_) のみを使用できます。 名前は文字またはアンダースコア (_) で始まる必要があります。 | |
インデックスの長さと数 | インデックスの長さは128文字です。 インデックスの数は10に制限されています。 | |
クエリ中の最大インデックスサイズ | 最大インデックスサイズは16 KBです。 サイズが16 KBを超えるデータをクエリする場合、データは返されません。 | |
クエリ結果の1行分のデータサイズ | 無制限です。 | |
フラッシュバックの復元 | 1回のフラッシュバックで復元される行の最大数 | 最大数は 1,000 です。 フラッシュバックで復元される行の数が1,000を超えると、行は切り捨てられます。 |
Flashbackデータプレビュー | 復元およびプレビューするインデックスキーのサイズは48 KB未満である必要があります。 | |
データベースとコレクション名の設定 | データベースとコレクションの名前の長さは254文字です。 たとえば、データベース (test) とコレクション (テーブル) の名前は |
課金ルール
パブリックプレビュー中にキーベースのフラッシュバック機能を使用した場合は課金されません。
キーベースのフラッシュバック機能の有効化
レプリカセットインスタンスまたはシャードクラスターインスタンスページに移動します。 上部のナビゲーションバーで、インスタンスが存在するリージョンを選択します。 次に、インスタンスを見つけて、インスタンスのIDをクリックします。
インスタンスの詳細ページの左側のナビゲーションウィンドウで、バックアップ/リカバリをクリックします。
[キーによるフラッシュバック] タブをクリックします。
[フラッシュバックバックアップ設定] をクリックします。
説明この操作を実行すると、必要な権限がありません。 メッセージが表示されます。 アカウントとパスワードを入力する必要があります。 アカウントには、フラッシュバックするデータベースに対する読み取り /書き込み権限が必要です。 データベースアカウントとその権限の詳細については、「 (オプション) データベースアカウントの作成と権限の付与」をご参照ください。
[フラッシュバックバックアップの設定] ダイアログボックスで、次の表に示すパラメーターを設定し、[OK] をクリックします。
パラメーター
説明
バックアップファイルの保持期間
バックアップファイルの保持期間。 有効な値: 1 ~ 7。 単位:日。
たとえば、パラメーターを1に設定すると、フラッシュバックのバックアップファイルが生成された後にシステムがタイミングを開始し、1日後にバックアップファイルが自動的に削除されます。
バックアップするテーブルを選択
バックアップするコレクション。The collection to be backed up.
バックアップするテーブルのインデックスのプレビューと設定
バックアップするコレクション内のインデックス。 デフォルト値:
_id
。 複数のインデックスはコンマ (,) で区切ります。最大10個のインデックスを指定できます。
[フラッシュバックバックアップ設定の変更] ダイアログボックスで、[OK] をクリックします。
フラッシュバックタスクの開始
[バックアップと復元] ページの [キーによるフラッシュバック] タブで、管理するバックアップタスクに対応する [操作] 列の [時点ごとのデータのフラッシュバック] をクリックします。
表示されるパネルで、次の表に記載されているパラメーターを設定し、OKします。
パラメーター
説明
復元するテーブルの選択
修正は必要ない。
一時テーブルの作成
フラッシュバックデータを格納する一時的なコレクション。
復元のタイムポイントを選択
データをフラッシュバックする時点。
復元するキーを入力
複数の主キーはセミコロン (;) で区切ります。
たとえば、インデックスが_idで、復元するキーがkey1とkey2の場合、フィールドに
key1;key2
を入力する必要があります。[ { "_id": "key1" }, { "_id": "key2" } ]
が [インデックスキーの復元プレビュー] セクションに表示されます。column=value
構文を使用して、クエリの列を指定できます。たとえば、フィールドに
key1;test1=v1,key2
と入力した場合、[ { "_id": "key1" }, { "test1": "v1", "_id": "key2" } ]
が [インデックスキーの復元プレビュー] セクションに表示されます。プライマリキーにコンマ (,) またはセミコロン (;) が含まれている場合は、エスケープ文字 (\) でエスケープします。
たとえば、主キーが
a,b
の場合、nameフィールドにa\,b
を入力する必要があります。
説明このパラメーターの値の長さが長すぎる場合、システムは開始するタスクを複数のフラッシュバックサブタスクに自動的に分割します。 これはフラッシュバックバックアップには影響しません。
[データフラッシュバックプレビュー] ダイアログボックスで、フラッシュバックするデータを選択し、[OK] をクリックします。
フラッシュバックタスクが開始された後、フラッシュバックデータは一時的なコレクションに格納されます。 一時コレクションの有効期間中に、一時コレクション内のデータを元のコレクションに復元できます。 有効期間は、フラッシュバックバックアップ機能を有効にしたときに指定されたバックアップ保持期間を示します。
元のコレクションにデータを復元
[バックアップと復元] ページの [キーによるフラッシュバック] タブで、管理するバックアップタスクの左側にある [+] アイコンをクリックします。
[元のテーブルに復元] をクリックします。
[元のテーブルに復元] ダイアログボックスで、[OK] をクリックします。
説明この操作により、一時コレクションのデータが元のコレクションに復元され、元のコレクションのデータが上書きされます。
上書き操作には約1〜2分かかります。 この期間中は、同じキーを書き込まないでください。 そうしないと、復元されたデータが期待に合わない場合があります。
[Flashback Records] をクリックすると、すべてのフラッシュバックバックアップタスクを表示し、フラッシュするデータを元のコレクションに復元できます。 [復元タスクレコード] をクリックして、すべてのフラッシュバックバックアップタスクを表示することもできます。
1つ以上のフラッシュバックバックアップタスクを無効にする
フラッシュバックバックアップタスクの無効化
[バックアップと復元] ページの [キーによるフラッシュバック] タブで、無効にするバックアップタスクを見つけ、[操作] 列の [無効にする] をクリックします。
すべてのフラッシュバックバックアップタスクを無効にする
[バックアップと復元] ページの [キーによるフラッシュバック] タブで、左上隅の [フラッシュバックバックアップの無効化] をクリックします。