テーブルタイプの概要
テーブル作成時にテーブルタイプを指定し、1つ以上のカラムをソートキーとして定義する必要があります。これにより、作成したテーブルにデータが最初にロードされるときに、StarRocks はソートキーに基づいてデータをソート、処理、保存できます。このトピックでは、StarRocks が提供するテーブルタイプについて説明し、さまざまなビジネス要件に対応します。
基本概念
テーブルタイプ
StarRocks は4つのテーブルタイプを提供します: 重複キーテーブル、集計テーブル、ユニークキーテーブル、および主キーテーブル。これらの4つのテーブルタイプは、ログ分析、データ集計と分析、リアルタイムデータ分析など、幅広いデータ分析シナリオに適しています。
ソートキー
特定のテーブルタイプを使用して作成されたテーブルにデータがロードされると、テーブル作成時にソートキーとして定義された1つ以上のカラムに従ってデータがソートされ、保存されます。ソートキーは通常、クエリでフィルター条件として頻繁に使用される1つ以上のカラムであり、クエリを高速化します。
バージョン3.0以降、主キーテーブルは ORDER BY
を使用してソートキーを定義することをサポートしています。バージョン3.3以降、重複キーテーブル、集計テーブル、およびユニークキーテーブルは ORDER BY
を使用してソートキーを定義することをサポートしています。
ソートキーの詳細については、Sort keys and prefix indexes を参照してください。
注意事項
-
テーブルが作成された後、そのテーブルタイプを変更することはできません。たとえば、重複キーテーブルを主キーテーブルに変更することはできません。新しい主キーテーブルを作成する必要があります。
-
ソートキーカラムは、テーブル作成のステートメント内で他のカラムの前に定義されている必要があります。
-
テーブル作成のステートメント内でのソートキーカラムの順序は、テーブル内の行がソートされる条件の順序を指定します。
-
テーブルのプレフィックスインデックスの長さは36バイトに制限されています。ソートキーカラムの合計長が36バイトを超える場合、StarRocks はプレフィックスインデックスの長さ制限内で最初のいくつかのソートキーカラムのみを保存します。
-
テーブルにロードされるレコードが同じ主キーを持つ場合、StarRocks はテーブルタイプに基づいてレコードを処理し、保存します:
-
重複キーテーブル
StarRocks は各レコードを別々の行としてテーブルにロードします。データロードが完了すると、テーブルには同じ主キーを持つ行が含まれ、行はソースレコードと1対1の関係を持ちます。ロードしたすべての履歴データを呼び出すことができます。
-
集計テーブル
StarRocks はレコードを1つのレコードに集計し、集計されたレコードを行としてテーブルにロードします。ロードが完了すると、テーブルには同じ主キーを持つ行は含まれません。ロードしたすべての履歴データの集計結果を呼び出すことができますが、すべての履歴データを呼び出すことはできません。
-
ユニークキーテーブルと主キーテーブル
StarRocks は、以前にロードされた各レコードを新しくロードされたレコードで置き換え、テーブルに最も最近ロードされたレコードのみを行として保持します。ロードが完了すると、テーブルには同じ主キーを持つ以前の行は含まれません。同じユニークキー/主キーを持つ最新のレコードのみが保持されます。ユニークキーテーブルと主キーテーブルは、同じ主キーを持つレコードのグループの中で最も最近のレコードを返すために REPLACE 集計関数がメトリックカラムに指定されている特別な集計テーブルと見なすことができます。
-