概要
テーブルの作成
ユーザーはCREATE TABLE文を使用してDorisでテーブルを作成できます。また、CREATE TABLE LIKEまたはCREATE TABLE AS句を使用して、他のテーブルからテーブル定義を派生させることもできます。
テーブル名
Dorisでは、テーブル名はデフォルトで大文字と小文字が区別されます。初期クラスターセットアップ時にlower_case_table_namesを設定して、大文字と小文字を区別しないようにすることができます。テーブル名のデフォルトの最大長は64バイトですが、table_name_length_limitを設定することで変更できます。この値を高く設定しすぎることは推奨されません。テーブル作成の構文については、CREATE TABLEを参照してください。Dynamic partitionsでは、これらのプロパティを個別に設定できます。
テーブルプロパティ
DorisではCREATE TABLE文でtable propertiesを指定できます。これには以下が含まれます:
-
buckets: テーブル内のデータの分散を決定します。
-
storage_medium: HDD、SSD、リモート共有ストレージの使用など、データのストレージ方法を制御します。
-
replication_num: 冗長性と信頼性を確保するため、データレプリカの数を制御します。
-
storage_policy: ホットデータとコールドデータの分離ストレージの移行戦略を制御します。
これらのプロパティはパーティションに適用されます。つまり、パーティションが作成されると、独自のプロパティを持つことになります。テーブルプロパティを変更すると、将来作成されるパーティションにのみ影響し、既存のパーティションには影響しません。テーブルプロパティの詳細については、ALTER TABLE PROPERTYを参照してください。
注意事項
-
適切なデータモデルの選択: データモデルは変更できないため、テーブル作成時に適切なdata modelを選択する必要があります。
-
適切なバケット数の選択: すでに作成されたパーティションのバケット数は変更できません。パーティションの置き換えによってバケット数を変更するか、dynamic partitionsでまだ作成されていないパーティションのバケット数を変更できます。
-
カラムの追加操作: VALUEカラムの追加や削除は軽量な操作で、数秒で完了できます。KEYカラムの追加や削除、またはデータ型の変更は重量な操作で、完了時間はデータ量に依存します。大量のデータセットでは、KEYカラムの追加や削除、またはデータ型の変更は避けることを推奨します。
-
ストレージ戦略の最適化: 階層ストレージを使用して、コールドデータをHDDまたはS3/HDFSに保存できます。