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

Data Management:論理テーブルのクエリ

最終更新日:Mar 29, 2026

論理テーブルを使用すると、シャード化された物理データベースおよび物理テーブルに分散するデータに対して、各シャードへ手動でルーティングすることなく、クエリ実行、書き込み、および集計が可能です。

仕組み

データベースが水平シャーディング(ホリゾンタルシャーディング)されている場合、同一のテーブル構造が複数の物理テーブルに分割されます。たとえば、注文テーブル(orders table)を 10 個のシャードに分割すると、基盤となる物理データベース内では t_order_0t_order_9 という名前の物理テーブルが作成されます。

Data Management (DMS) は、この状況に対応するため、2 段階の抽象化を導入します。

レベル名称説明
データベースレベル論理データベースすべてのシャード化された物理データベースを統合的に表示するビュー
テーブルレベル論理テーブル同じ構造を持つすべての物理テーブルを統合したビュー。例: t_order

クエリは論理テーブルに対して実行されます。DMS が自動的に適切な物理テーブルへルーティングします。

SQL のサポート状況

以下の表は、ルーティングアルゴリズムの設定有無に応じた SQL ステートメントのサポート状況をまとめています。

SQL ステートメントルーティングアルゴリズム未設定時ルーティングアルゴリズムあり
SELECT対応対応
UPDATE対応対応
DELETE対応対応
INSERT非対応対応

ルーティングアルゴリズムが設定されている場合、以下の SQL 機能がすべての物理シャードにわたって動作します。

  • 集計: COUNT() をはじめとする集計関数

  • グループ化: GROUP BY

  • その他の SQL 構文は、ソースデータベースの規則に従います。

制限事項: サブクエリはサポートされていません。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • DMS 内で、物理データベースおよび物理テーブルが既に設定済みの論理データベースが存在すること

  • SQL ステートメントを実行するのに十分な権限を持つ DMS コンソールへのアクセスが可能であること

論理テーブルのクエリ

ステップ 1:論理データベースを選択してクエリを実行

  1. DMS コンソールで、論理データベースを選択します。

  2. 必要に応じて、SELECTUPDATE、または DELETE ステートメントを実行します。この段階では、まだルーティングアルゴリズムが設定されていないため、INSERT は非対応です。

ステップ 2:ルーティングアルゴリズムの設定

ルーティングアルゴリズムは、指定されたフィールドの値に基づいて、書き込み操作をどの物理シャードに送信するかを決定します。

開始するには、モジュロ(剰余)方式のルーティングアルゴリズムを設定します。より複雑なルーティングロジックが必要な場合は、「ルーティングアルゴリズムの設定」をご参照ください。

ステップ 3:論理テーブルへのデータ挿入

ルーティングアルゴリズムを設定した後、INSERT ステートメントを実行して論理テーブルにデータを書き込みます。DMS が自動的に適切な物理シャードへ行をルーティングします。

ステップ 4:ルーティングに基づくフィールドを用いたクエリ

ルーティングアルゴリズムが有効な状態では、ルーティングに基づくフィールドを対象としたクエリは、対象の物理テーブルに直接送信されます。手動でのシャード切り替えは不要です。

クエリ結果の最終列には、対応する物理データベースおよび物理テーブル名が表示されます。該当列の値をクリックすると、その物理テーブルが開き、同じクエリを直接実行できます。

ルーティングに基づくフィールドを指定せずに全シャードを対象にクエリする場合(例:全レコード数のカウント)は、シャードキーを含まないクエリを実行します。

SELECT COUNT(*) FROM logical_table_name;
説明

GROUP BY をはじめとする標準的な SQL 句は、ソースデータベースと同様の動作をします。サブクエリはサポートされていません。

次のステップ