Dynamic partitioning
動的パーティショニング
StarRocksは、パーティションのTTL(有効期限)を自動的に管理する動的パーティショニングをサポートしています。これにより、テーブルに新しい入力データをパーティション化し、期限が切れたパーティションを削除することができます。この機能により、保守コストを大幅に削減することができます。
動的パーティショニングの有効化
テーブルsite_access
を例に説明します。動的パーティショニングを有効にするには、PROPERTIESパラメータを設定する必要があります。設定項目の詳細については、CREATE TABLEを参照してください。
CREATE TABLE site_access(
event_day DATE,
site_id INT DEFAULT '10',
city_code VARCHAR(100),
user_name VARCHAR(32) DEFAULT '',
pv BIGINT DEFAULT '0'
)
DUPLICATE KEY(event_day, site_id, city_code, user_name)
PARTITION BY RANGE(event_day)(
PARTITION p20200321 VALUES LESS THAN ("2020-03-22"),
PARTITION p20200322 VALUES LESS THAN ("2020-03-23"),
PARTITION p20200323 VALUES LESS THAN ("2020-03-24"),
PARTITION p20200324 VALUES LESS THAN ("2020-03-25")
)
DISTRIBUTED BY HASH(event_day, site_id)
PROPERTIES(
"dynamic_partition.enable" = "true",
"dynamic_partition.time_unit" = "DAY",
"dynamic_partition.start" = "-3",
"dynamic_partition.end" = "3",
"dynamic_partition.prefix" = "p",
"dynamic_partition.buckets" = "32",
"dynamic_partition.history_partition_num" = "0"
);
PROPERTIES
:
パラメータ | 必須 | 説明 |
---|---|---|
dynamic_partition.enable | いいえ | 動的パーティショニングを有効にします。有効な値は、 |
dynamic_partition.time_unit | はい | 動的に作成されたパーティションの時間の粒度です。必須パラメーターです。有効な値は、
|
dynamic_partition.time_zone | いいえ | 動的パーティショ ンのタイムゾーンです。デフォルトではシステムのタイムゾーンと同じです。 |
dynamic_partition.start | いいえ | 動的パーティションの開始オフセットです。このパラメーターの値は負の整数である必要があります。このオフセットより前のパーティションは、現在の日、週、または月に基づいて削除されます。これはパラメーター |
dynamic_partition.end | いいえ | 動的パーティションの終了オフセットです。このパラメーターの値は正の整数である必要があります。現在の日、週、または月から終了オフセットまでのパーティションが事前に作成されます。 |
dynamic_partition.prefix | いいえ | 動的パーティションの名前に追加される接頭辞です。デフォルト値は |
dynamic_partition.buckets | いいえ | 動的なパーティションごとのバケットの数です。デフォルト値は、予約語BUCKETSによって決定されるバケットの数と同じです。 |
dynamic_partition.history_partition_num | いいえ | 動的パーティショニングメカニズムによって作成された過去のパーティションの数で、デフォルト値は |
dynamic_partition.start_day_of_week |