Python 向け Tablestore SDK は、さまざまなテーブルレベルの機能を提供します。
Tablestore を使用する場合、データを格納するためのテーブルを作成する必要があります。ほとんどの場合、データテーブルのセカンダリインデックスを作成する必要はありません。ビジネス要件に基づいてデータテーブルを作成できます。
セカンダリインデックスを使用してデータクエリの効率を向上させる場合は、データテーブルを作成する際にセカンダリインデックスを作成します。詳細については、データテーブルの作成を参照してください。
セカンダリインデックス機能を使用すると、データテーブルのプライマリキーと、テーブルに作成されたセカンダリインデックスのインデックス列に基づいてデータをクエリできます。これにより、データクエリが高速化されます。
説明データテーブルを作成した後にセカンダリインデックスを作成することもできます。詳細については、セカンダリインデックスを参照してください。
eコマース Web サイトのアイテム ID、大規模 Web サイトのユーザー ID、フォーラムの投稿 ID、チャットツールのメッセージ ID など、自動インクリメントプライマリキー列が必要なシステム設計シナリオでは、データテーブルを作成するときに自動インクリメントプライマリキー列を指定できます。詳細については、自動インクリメントプライマリキー列の構成を参照してください。
データテーブルを作成した後、ビジネス要件に基づいてデータテーブルに対して特定の操作を実行できます。次の表に、操作を示します。
操作 | 説明 |
有効期限 (TTL) や最大バージョン数など、テーブルに関する構成情報を更新します。 | |
テーブルに関する構成情報をクエリします。 | |
インスタンス内のすべてのテーブルの名前をクエリします。 | |
テーブルを削除します。 |
また、ビジネス要件に基づいてテーブル内のデータに対して操作を実行するときに、さまざまな機能を使用することもできます。次の表に、機能を示します。
機能 | 説明 | シナリオ |
条件付き更新を使用する場合、テーブル内のデータは、条件が満たされた場合にのみ更新できます。それ以外の場合、更新は失敗し、エラーメッセージが返されます。 | この機能は、高並列アプリケーションのデータを更新する場合に適しています。 | |
データテーブルに対してローカル トランザクションを有効にした後、パーティションキー値に基づいてローカル トランザクションを作成できます。ローカル トランザクションでデータの読み取りと書き込みを行い、ビジネス要件に基づいてローカル トランザクションをコミットまたは破棄できます。 | この機能は、1 つ以上のデータ行に対してアトミック操作を実行する場合に適しています。 | |
アトミックカウンター機能を使用すると、列をアトミックカウンターとして指定し、列に対してアトミックカウンター操作を実行できます。 | この機能は、さまざまな投稿のページビュー (PV) 数など、オンラインアプリケーションのリアルタイム統計データを収集する場合に適しています。 | |
フィルターを構成した後、フィルター条件に基づいてサーバー側でクエリ結果がフィルタリングされます。フィルター条件を満たすデータ行のみが返されます。 | この機能は、特定の条件を満たすクエリ結果を返したい場合に適しています。 |