Перейти к содержанию

Ограничения

В данном разделе приведена информация о существующих ограничениях при использовании Picodata.

Кластер

Объем данных в кластере

Без ограничений. Фактический предел определяется движком хранения (для memtx — объемом доступной ОЗУ, для vinyl — доступным местом на диске).

См. также Распределение имеющихся ресурсов

Масштабирование кластера

Максимальное количество инстансов в кластере — 10 000.

Количество бакетов

Не ограничено. По умолчанию, в кластере используется 3000 бакетов. Данный параметр задается один раз перед бутстрапом кластера и в дальнейшем остается неизменным. Число бакетов определяет точность/гранулярность перебалансировки данных при изменении состава узлов в кластере.

См. также:

Количество соединений

Практически пределом является количество файловых дескрипторов, которые можно определить с операционной системой.

Количество пользователей и ролей

128 пользователей или ролей. В кластере изначально имеется 6 служебных пользователей, поэтому для добавления остается 122 пользователя или роли.

Фактор репликации

Максимальный доступный пользователю фактор репликации (количество реплик в репликасете) — 31 (32 минус одно значение, зарезервированное для работы алгоритма Raft).

Таблицы и индексы

Размер таблицы

Итоговый максимальный размер всех таблиц фактически определяется в memtx_memory, который в свою очередь ограничен общим размером свободной памяти.

Длина имени

Длина имени индекса, имени таблицы или имени пользователя — 65 000.

Количество частей в индексе

Для TREE-индексов или HASH-индексов максимальное количество – 255 частей. Для RTREE-индексов максимальное количество – 1, но это поля типа ARRAY (массив) с размерностью до 20. Для BITSET-индексов максимальное количество – 1.

Количество индексов в таблице

Максимальное количество индексов в таблице — 128.

Количество колонок в таблице

Максимальное количество колонок в таблице — 22 500.

Количество байтов в кортеже

Максимальное количество байтов в кортеже примерно равно memtx_max_tuple_size или vinyl_max_tuple_size (с ресурсами метаданных около 20 байтов на кортеж, которые добавляются к полезным байтам). Значение memtx_max_tuple_size или vinyl_max_tuple_size по умолчанию составляет 1 048 576.

Количество байтов в индекс-ключе

Если поле в кортеже может содержать миллион байтов, то индекс-ключ также может содержать миллион байтов, поэтому максимальное количество определяется такими факторами, как количество байтов в кортеже, а не параметрами индекса.

Количество строк/полей в кортеже

Не ограничено.

Количество таблиц

Максимальное количество таблиц – 65 000.

Запросы

Длина SQL-запроса

Максимальная длина SQL-запроса — 1 000 000 000 символов.

Длина имени при подстановке

Максимальная длина имени, используемого вместе с подстановочными знаками – 65 000.

Глубина дерева выражений

Максимальная глубина вложения выражений — 200.

Количество запросов SELECT в одной команде

Максимальное количество запросов SELECT в одной команде — 50.

Количество аргументов для SELECT

Максимальное количество аргументов для запроса SELECT — 127.

Кэш исполнения запросов

Максимальный размер SQL-кэша — 2 048 000 байт.

Длина шаблона для LIKE/ILIKE

Максимальная длина шаблона для использования с операторами LIKE и ILIKE — 50 000 байт.

Вложенные команды при исполнении SQL

Максимальная количество срабатываний вызовов дополнительных команд (триггеров) при выполнении SQL-запроса — 1000.