概要
テーブルの作成
ユーザーは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文でテーブルプロパティを指定できます。これには以下が含まれます:
-
buckets: テーブル内でのデータの分散を決定します。
-
storage_medium: HDD、SSD、またはリモート共有ストレージの使用など、データのストレージ方法を制御します。
-
replication_num: 冗長性と信頼性を確保するためのデータレプリカ数を制御します。
-
storage_policy: コールドデータとホットデータの分離ストレージのマイグレーション戦略を制御します。
これらのプロパティはパーティションに適用されます。つまり、パーティションが作成されると、それ独自のプロパティを持ちます。テーブルプロパティを変更すると、将来作成されるパーティションにのみ影響し、既存のパーティションには影響しません。テーブルプロパティの詳細については、ALTER TABLE PROPERTYを参照してください。
注意事項
-
適切なデータモデルを選択: データモデルは変更できないため、テーブル作成時に適切なdata modelを選択する必要があります。
-
適切なバケット数を選択: 既に作成されたパーティションのバケット数は変更できません。パーティションを置き換えることでバケット数を変更できます。また、dynamic partitionsでまだ作成されていないパーティションのバケット数を変更できます。
-
カラム追加操作: VALUE列の追加や削除は軽量操作で、数秒で完了できます。KEY列の追加や削除、またはデータ型の変更は重量操作で、完了時間はデータ量に依存します。大規模なデータセットの場合、KEY列の追加や削除、またはデータ型の変更を避けることが推奨されます。
-
ストレージ戦略の最適化: 階層化ストレージを使用して、コールドデータをHDDやS3/HDFSに保存できます。