Все поддерживаемые возможности партиционирования и бакетирования¶
В этом разделе перечислены все поддерживаемые в StarRocks возможности партиционирования и бакетирования.
Поддерживаемые типы таблиц¶
Bucketing
Hash Bucketingподдерживается для всех типов таблиц.Random Bucketing(начиная с v3.1) поддерживается только для таблиц Duplicate Key.Partitioning
Expression Partitioning(с v3.1),Range PartitioningиList Partitioning(с v3.1) поддерживаются во всех типах таблиц.
Бакетирование¶
| Возможность | Особенности | Поддержка | Примечание |
|---|---|---|---|
| Bucketing strategy | Hash Bucketing | Да | |
| Random Bucketing | Да (v3.1+) | Random Bucketing поддерживается только в таблицах Duplicate Key. Начиная с v3.2, **StarRocks** поддерживает динамическую настройку числа создаваемых tablets в зависимости от информации о кластере и объёма данных. |
|
| Bucket Key data type | Date, Integer, String | Да | |
| Bucket number | Автоматическое определение количества бакетов | Да (v3.0+) | Автоматически определяется по числу BE‑узлов или по объёму данных в наибольшей исторической партиции. Логика отдельно оптимизирована для партиционированных и непартиционированных таблиц в более поздних версиях. |
| Динамическое уменьшение количества бакетов при Random Bucketing | Да (v3.2+) |
Партицирование¶
| Возможность | Особенности | Поддержка | Примечание |
|---|---|---|---|
| Partitioning strategy | Expression Partitioning | Да (v3.1+) |
|
| Range Partitioning | Да (v3.2+) | С v3.3.0 можно использовать три специальные time‑функции как Partition Key: from_unixtime, from_unixtime_ms, str2date, substr/substring. | |
| List Partitioning | Да (v3.1+) | ||
| Partition Key data type | Date, Integer, Boolean | Yes | |
| String | Да |
|
Разница различных подходов к партицированию¶
| Expression Partitioning | Range Partitioning | List Partitioning | ||
|---|---|---|---|---|
| Партицирование на основе временной функции | Партицирование на основе выражения в столбце таблицы | |||
| Тип данных | Date (DATE/DATETIME) |
|
|
|
| Поддержка нескольких ключей партицирования | / (Поддерживает только один date-type ключ партицирования) | Да | Да | Да |
| Поддежка NULL значений для ключей партицирования | Да | / [2] | Да | / [2] |
| Ручное создание партиций перед загрузкой данных | / [3] | / [3] |
|
Да |
| Автоматическое создание партиций во время загрузки данных | Да | Да | / | / |
[1]: необходимо использовать
from_unixtime,str2dateили другие time‑функции для преобразования столбца в типы дат.[2]: значения
NULLвPartition KeyдляList Partitioningподдерживаются начиная с v3.3.3.[3]: партиции создаются автоматически.