Ограничения базы данных
В разделе описаны параметры ограничений, установленных в YDB.
Ограничения объектов схемы
В таблице ниже приведены ограничения объектов схемы: таблиц, баз данных, столбцов. В столбце Объект указан тип объекта схемы, на который распространяется ограничение.
В столбце Тип ошибки указан статус, с которым завершится выполнение запроса в случае ошибки. Подробнее статусы описаны в разделе Обработка ошибок в API.
Объект | Ограничение | Значение | Пояснение | Внутреннее название |
Тип ошибки |
---|---|---|---|---|---|
База данных | Максимальная глубина пути | 32 | Максимальное количество вложенных элементов пути (директорий, таблиц). | MaxDepth | SCHEME_ERROR |
База данных | Максимальное количество путей (объектов в схеме) | 10 000 | Максимальное количество элементов пути (директорий, таблиц) в базе данных. | MaxPaths | GENERIC_ERROR |
База данных | Максимальное количество таблеток | 200 000 | Максимальное количество таблеток (шардов таблиц и системных таблеток), которое может работать в базе данных. На запрос создания, копирования или изменения таблицы, в результате выполнения которого данное ограничение может быть превышено, будет возвращена ошибка. При достижении максимального количества таблеток в базе автоматическое шардирование таблиц не происходит. | MaxShards | GENERIC_ERROR |
База данных | Максимальная длина имени объекта | 255 | Ограничивает количество символов в имени объекта схемы, например директории или таблицы. | MaxPathElementLength | SCHEME_ERROR |
База данных | Максимальный размер ACL | 10 Кб | Максимальный суммарный размер всех правил контроля доступа, которые можно сохранить для одного объекта схемы. | MaxAclBytesSize | GENERIC_ERROR |
Директория | Максимальное количество объектов | 100 000 | Максимальное количество таблиц, директорий, созданных в директории. | MaxChildrenInDir | SCHEME_ERROR |
Таблица | Максимальное количество шардов таблицы | 35 000 | Максимальное количество шардов таблицы. | MaxShardsInPath | GENERIC_ERROR |
Таблица | Максимальное количество столбцов | 200 | Ограничивает общее количество столбцов в таблице. | MaxTableColumns | GENERIC_ERROR |
Таблица | Максимальная длина имени столбца | 255 | Ограничивает количество символов в имени столбца. | MaxTableColumnNameLength | GENERIC_ERROR |
Таблица | Максимальное количество столбцов в первичном ключе | 20 | Каждая таблица должна иметь первичный ключ. Количество столбцов, входящих в состав первичного ключа, не может превышать это ограничение. | MaxTableKeyColumns | GENERIC_ERROR |
Таблица | Максимальное количество индексов | 20 | Максимальное количество индексов помимо индекса первичного ключа, которые могут быть созданы на таблице. | MaxTableIndices | GENERIC_ERROR |
Таблица | Максимальное количество фолловеров | 3 | Максимальное количество read-only реплик, которое можно указать при создании таблицы с фолловерами. | MaxFollowersCount | GENERIC_ERROR |
Таблица | Максимальное количество копируемых таблиц | 10 000 | Ограничение на размер списка таблиц для операций консистентного копирования таблиц. | MaxConsistentCopyTargets | GENERIC_ERROR |
Ограничения размеров хранимых данных
Параметр | Значение | Тип ошибки |
---|---|---|
Максимальный суммарный размер всех столбцов в первичном ключе | 1 Мб | GENERIC_ERROR |
Максимальный размер значения строкового столбца | 16 Мб | GENERIC_ERROR |
Ограничения аналитических таблиц
Параметр | Значение |
---|---|
Максимальный размер строки | 8 Мб |
Максимальный размер вставляемого блока данных | 8 Мб |
Ограничения при выполнении запросов
В таблице ниже перечислены ограничения, действующие при выполнении запросов.
Параметр | Значение | Пояснение | Статус в случае нарушения ограничения |
---|---|---|---|
Длительность запроса | 1800 секунд (30 минут) | Максимальное время на выполнение одного запроса. | TIMEOUT |
Максимальное количество сессий на ноду кластера | 1000 | Ограничение на количество сессий, которые клиент может создать с каждой нодой YDB. | OVERLOADED |
Максимальная длина текста запроса | 10 Кб | Ограничение на длину текста YQL-запроса. | BAD_REQUEST |
Максимальный размер значений параметров | 50 Мб | Ограничение на суммарный размер параметров, передаваемых при выполнении ранее подготовленного запроса. | BAD_REQUEST |
Устаревшие ограничения
В предыдущих версиях YDB запросы выполнялись с помощью API под названием «Table Service». Этот API имел следующие ограничения, которые были устранены при переходе на новый API под названием «Query Service».
Параметр |
Значение |
Пояснение |
Статус в случае нарушения ограничения |
Максимальное количество строк в результате запроса |
1000 |
Полные результаты некоторых запросов, выполненных через метод |
SUCCESS |
Максимальный размер результата запроса |
50 Мб |
Полный результат некоторых запросов может превышать установленное ограничение. В этом случае запрос завершится ошибкой, данные не будут возвращены. |
PRECONDITION_FAILED |
Ограничения топиков
Параметр | Значение |
---|---|
Максимальный размер передаваемого сообщения | 12 Мб |
Ограничения пулов ресурсов
Параметр | Значение |
---|---|
Максимальное число классификаторов пулов ресурсов | 1000 |
Ограничения на число ресурсов накладываются ограничениями на число схемных объектов. Эти ограничения можно найти выше.