論理表
スプリットレベル総称データベース(表)と同じ論理テーブルのデータ構造。例:それぞれ、仮数の主キーテーブル10の順番に従ってデータを分割t_order_0
しt_order_9
、それらの論理名テーブルt_order
。
実際のテーブル
物理的なフラグメンテーションテーブルデータベース本物。すなわち、前述の例ではt_order_0
へt_order_9
。
データノード
最小単位スライスデータパーティション。例えば、データソース名データテーブル、: ds_0.t_order_0
。
バインディングテーブル
これは、主フラグメンテーション一貫したルールと子テーブルを参照します。たとえば、次のt_order
テーブルとt_order_item
テーブルに従ってorder_id
フラグメンテーションこの2つは、相互関係テーブルを結合します。結合テーブルマルチテーブルクエリとの間の相関は、関連付けが大幅クエリ効率を強化する、デカルト積の関連付けは表示されません。たとえば、SQLの場合:
SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);
構成は、テーブルの関係を結合断片キーを想定されていない場合order_id
、次にSQL経路は4でなければならない、最初のシート11に値をルーティングする、0〜10までの経路の値を、提示デカルト積です。
SELECT i.* FROM t_order_0 o JOIN t_order_item_0 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);
SELECT i.* FROM t_order_0 o JOIN t_order_item_1 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);
SELECT i.* FROM t_order_1 o JOIN t_order_item_0 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);
SELECT i.* FROM t_order_1 o JOIN t_order_item_1 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);
結合関係を設定した後、SQLをルーティングすると、2つのようになります。
SELECT i.* FROM t_order_0 o JOIN t_order_item_0 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);
SELECT i.* FROM t_order_1 o JOIN t_order_item_1 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);
前記t_order
FROMのほとんどを残し、ShardingSphereは、マスター表の全体の結合テーブルとして使用します。すべてのルートは、メインテーブルの唯一の戦略を使用して計算され、t_order_item
テーブルが断片化計算するために使用されるt_order
条件。したがって、パーティションキーバインディングテーブルとの間に同一です。
ブロードキャストテーブル
テーブルを参照し、データ・ソース内のすべてのフラグメントのテーブル構造とデータテーブルは、それらが各データベースで同一で存在します。これは、例えば、データの量と、大量のデータのクエリとテーブルのシーンを関連付ける必要に適用されます:ディクショナリ表。