すべてのプロダクト
Search
ドキュメントセンター

Tablestore:テーブルに対する操作

最終更新日:Dec 28, 2024

このトピックでは、Tablestore SDK for Java を使用してテーブルに対して実行できる操作について説明します。

Tablestore を使用する場合、データストレージ用のテーブルを作成する必要があります。ほとんどの場合、テーブルのセカンダリインデックスを設定する必要はありません。ビジネス要件に基づいて、次の機能を持つテーブルを作成できます。

  • セカンダリインデックスを使用してデータクエリの効率を向上させる場合は、テーブルの作成時にセカンダリインデックスを設定します。詳細については、データテーブルの作成を参照してください。

    セカンダリインデックス機能を使用すると、テーブルに対して1つ以上のインデックステーブルを作成できます。その後、テーブルではなく、インデックステーブルのプライマリキー列に基づいてデータをクエリできます。

  • 1つ以上のデータ行の読み取りまたは書き込みに対してアトミック操作を実行する場合は、テーブルの作成時にローカル・トランザクション機能を有効にします。詳細については、データテーブルの作成を参照してください。

  • 製品ID、ユーザーID、投稿ID、メッセージIDなどのデータに自動インクリメントプライマリキー列を使用する場合は、テーブルの作成時に自動インクリメントプライマリキー列を設定します。詳細については、自動インクリメントプライマリキー列の設定を参照してください。

  • テーブルがディスクに保存されるときにテーブルを暗号化する場合は、テーブルの作成時にテーブルの暗号化を設定します。詳細については、暗号化テーブルの作成を参照してください。

テーブルを作成した後、ビジネス要件に基づいて、テーブルに対して次の操作を実行できます。

操作

説明

テーブルの設定の更新

データの有効期限 (TTL) や最大バージョンなど、テーブルの設定を更新します。

テーブルの記述のクエリ

テーブルの設定をクエリします。

テーブル名のクエリ

インスタンス内のすべてのテーブルの名前をクエリします。

事前定義列の追加または削除

テーブルに事前定義列を追加、またはテーブルから事前定義列を削除します。テーブルのセカンダリインデックスを作成するときに、テーブルの事前定義列をセカンダリインデックスのインデックス列または属性列として設定できます。

テーブルの削除

テーブルを削除します。

また、ビジネス要件に基づいて、テーブル内のデータに対して操作を実行するときに、次の機能を使用することもできます。

機能

説明

シナリオ

条件付き更新の実行

条件付き更新を使用する場合、テーブル内のデータは、条件が満たされた場合にのみ更新できます。それ以外の場合、更新は失敗し、エラーメッセージが返されます。

この機能は、高並列シナリオでのデータの更新に適しています。

ローカル・トランザクション機能の使用

テーブルのローカル・トランザクションを有効にした後、パーティションキー値に基づいてローカル・トランザクションを作成できます。ローカル・トランザクション内でデータを読み書きした後、ローカル・トランザクションをコミットまたは中止できます。

この機能は、1つ以上のデータ行の読み取りまたは書き込みに対してアトミック操作を実行するのに適しています。

アトミックカウンター機能の使用

アトミックカウンターを使用すると、列にアトミックカウンターを実装できます。

この機能は、さまざまな投稿のページビュー数 (PV) など、オンラインアプリケーションの統計データを取得するのに適しています。

フィルターの設定

フィルターを設定した後、クエリ結果はフィルター条件に基づいてサーバー側でフィルタリングされます。フィルター条件に一致するデータ行のみが返されます。

この機能は、特定の条件を満たすデータのクエリに適しています。

データを特定のサイズのシャードに分割

テーブル内のデータを、サイズが指定された値とほぼ同じ論理シャードに分割できます。シャード間の分割点とシャードが存在するマシンに関する情報が返されます。

この機能は、計算エンジンで並列処理プランを実装するのに適しています。