Tablestore では、プライマリキーを使用してデータを一括削除できます。また、Time to Live (TTL) を設定することで、期限切れデータを自動的に削除することもできます。
削除されたデータは復元できません。この操作は慎重に実行してください。
プライマリキーによるデータの直接削除
Tablestore では、プライマリキーを使用してデータを一括削除できます。削除するデータのプライマリキーをクエリで取得した後、BatchWriteRow API を呼び出してデータを削除できます。手順は次のとおりです。
削除するデータのプライマリキーを取得する方法を選択します。
特定のプライマリキー範囲内のデータを削除するには、GetRange API を呼び出してデータをクエリし、そのプライマリキーを取得します。詳細については、「データの読み取り」をご参照ください。
特定の条件を満たすデータを削除するには、テーブルに多次元インデックスがある場合、それを使用できます。多次元インデックスを使用してデータをクエリし、そのプライマリキーを取得します。詳細については、「基本的なクエリ」をご参照ください。
テーブル内のすべてのデータを削除するには、テーブルを削除してから、同じ設定で新しいテーブルを作成できます。
または、GetRange API を呼び出すこともできます。プライマリキーの範囲を仮想点 INF_MIN (無限小) から INF_MAX (無限大) に設定してテーブル全体をスキャンし、すべてのプライマリキーを取得します。この操作は大量のコンピューティング リソースを消費します。慎重に使用してください。
BatchWriteRow API を呼び出して、プライマリキーを使用してデータを一括削除します。詳細については、「データの書き込み」をご参照ください。
TTL の設定による期限切れデータの自動削除
TTL は、データ保持期間を指定するテーブルプロパティです。属性列のデータが設定された TTL を超えると、システムはその列から期限切れデータを自動的かつ非同期に削除します。行内のすべての属性列のデータが TTL を超えた場合、システムは行全体を自動的かつ非同期に削除します。
手順は次のとおりです。
UpdateTable API を呼び出して、テーブルの TTL を変更します。
重要テーブルに多次元インデックスまたはセカンダリインデックスがある場合、インデックスの TTL 値はテーブルの TTL 値以下である必要があります。テーブルの TTL を変更する際は、新しい TTL 値がこの制約を満たしていることを確認してください。
TTL を超えたデータは期限切れとみなされます。システムはこのデータを自動的かつ非同期に削除します。
データがまだ削除されていなくても、ユーザーはアクセスできません。