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

Tablestore:GetRange 操作と Search 操作の違い

最終更新日:Dec 28, 2024

違い

GetRange 操作

Search 操作

リアルタイムクエリ

GetRange 操作はデータテーブルに対して実行されます。データをクエリするためにインデックスを作成する必要はありません。データがデータテーブルに書き込まれた直後にデータをクエリできます。

GetRange 操作の詳細については、データの読み取りおよびGetRange を参照してください。

Search 操作は検索インデックスに対して実行されます。データは、データテーブルからデータテーブル用に作成された検索インデックスに非同期的に同期されます。データがデータテーブルから検索インデックスに同期された後、検索インデックスからデータをクエリできます。ほとんどの場合、データはデータテーブルに書き込まれてから 3 秒後にデータテーブルから検索インデックスに同期されます。

Search 操作の詳細については、検索インデックスおよびSearch を参照してください。

コンピューティングリソースの消費とスケーリング

システムは、指定されたプライマリキーの範囲に基づいてデータテーブルのパーティションを特定し、そのパーティションに対してのみ読み取り操作を実行します。消費されるコンピューティングリソースは少なく、コンピューティングリソースはスケーラブルです。

コンピューティングリソースの消費とスケーリングは、検索インデックスの作成時にルーティングキーを指定するかどうかによって異なります。

  • ルーティングキーを指定しない場合、システムはすべてのパーティションに対して読み取り操作を実行します。この場合、大量のコンピューティングリソースが消費され、コンピューティングリソースのスケーリングは弱くなります。

  • ルーティングキーを指定した場合、システムは指定されたパーティションを特定し、そのパーティションに対して読み取り操作を実行します。この場合、消費されるコンピューティングリソースは少なくなります。クエリ機能は、パーティションの数に基づいてスケーリングできます。ただし、インデックスのパーティションは動的分割をサポートしていません。したがって、クエリ機能を動的にスケーリングすることはできません。

検索インデックスの作成方法については、検索インデックスの作成 を参照してください。

データフィルタリング

データはスキャンできます。複雑なデータフィルタリングはサポートされていません。

Search 操作は GetRange 操作よりも柔軟性があります。列条件を指定し、条件を組み合わせて、検索インデックスに基づいてデータをフィルタリングできます。