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