Поддержка функций: Распределение данных
Этот документ описывает функции партиционирования и бакетирования, поддерживаемые Selena.
Поддерживаемые типы таблиц
-
Бакетирование
Hash Bucketing поддерживается во всех типах таблиц. Random Bucketing (начиная с v1.5.2) поддерживается только в таблицах Duplicate Key.
-
Партиционирование
Expression Partitioning (начиная с v1.5.2), Range Partitioning и List Partitioning (начиная с v1.5.2) поддерживаются во всех типах таблиц.
Бакетирование
| Функция | Ключевой момент | Статус поддержки | Примечание |
|---|---|---|---|
| Стратегия бакетирования | Hash Bucketing | Да | |
| Random Bucketing | Да (v1.5.2+) | Random Bucketing поддерж ивается только в таблицах Duplicate Key. Начиная с v1.5.2, Selena поддерживает динамическое изменение количества tablet для создания в соответствии с информацией о кластере и размером данных. | |
| Тип данных Bucket Key | Date, Integer, String | Да | |
| Количество бакетов | Автоматическая установка количества бакетов | Да (v1.5.2+) | Автоматически определяется количеством узлов BE или объемом данных самой большой исторической партиции. Логика была отдельно оптимизирована для партиционированных и непартиционированных таблиц в более поздних версиях. |
| Динамическое увеличение количества бакетов для Random Bucketing | Да (v1.5.2+) |
Партиционирование
| Функция | Ключевой момент | Статус поддержки | Примечание |
|---|---|---|---|
| Стратегия партиционирования | Expression Partitioning | Да (v1.5.2+) |
|
| Range Partitioning | Да (v1.5.2+) | Начиная с v1.5.2, три специфические временные функции могут использоваться для Partition Keys: from_unixtime, from_unixtime_ms, str2date, substr/substring. | |
| List Partitioning | Да (v1.5.2+) | ||
| Тип данных Partition Key | Date, Integer, Boolean | Да | |
| String | Да |
|
Различия между стратегиями партиционирования
| Expression Partitioning | Range Partitioning | List Partitioning | ||
|---|---|---|---|---|
| Партиционирование на основе выражения временной функции | Партиционирование на основе выражения столбца | |||