Ограничения базы данных

В разделе описаны параметры ограничений, установленных в YDB.

Ограничения объектов схемы

В таблице ниже приведены ограничения объектов схемы: таблиц, баз данных, столбцов. В столбце Объект указан тип объекта схемы, на который распространяется ограничение.
В столбце Тип ошибки указан статус, с которым завершится выполнение запроса в случае ошибки. Подробнее статусы описаны в разделе Обработка ошибок в API.

Объект Ограничение Значение Пояснение Внутреннее
название
Тип
ошибки
База данных Максимальная глубина пути 32 Максимальное количество вложенных элементов пути (директорий, таблиц). MaxDepth SCHEME_ERROR
База данных Максимальное количество путей (объектов в схеме) 200 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
Таблица Максимальное количество копируемых таблиц 1000 Ограничение на размер списка таблиц для операций консистентного копирования таблиц. MaxConsistentCopyTargets GENERIC_ERROR

Ограничения размеров хранимых данных

Параметр Значение Тип ошибки
Максимальный суммарный размер всех столбцов в первичном ключе 1 Мб GENERIC_ERROR
Максимальный размер значения строкового столбца 8 Мб GENERIC_ERROR

Ограничения при выполнении запросов

В таблице ниже перечислены ограничения, действующие при выполнении запросов. В столбце Вызов указан вызов public api, обращение к которому завершится со статусом ошибки, указанным в столбце Статус.

Параметр Значение Вызов Пояснение Статус
в случае
нарушения
ограничения
Максимальное количество строк в результате запроса 1000 ExecuteDataQuery Полные результаты некоторых запросов, выполненных через метод ExecuteDataQuery, могут содержать больше строк, чем допустимо. В этом случае в ответ на запрос вернется максимально допустимое число строк, а у результата будет установлен флаг truncated. SUCCESS
Максимальный размер результата запроса 50 Мб ExecuteDataQuery Полный результат некоторых запросов может превышать установленное ограничение. В этом случае запрос завершится ошибкой, данные не будут возвращены. PRECONDITION_FAILED
Максимальное количество сессий на ноду кластера 1000 CreateSession Используя библиотеку для работы с YDB, приложение может создавать сессии в рамках соединения. Сессии привязаны к ноде. С одной нодой можно создать ограниченное количество сессий. OVERLOADED
Максимальная длина текста запроса 10 Кб ExecuteDataQuery Ограничение на длину текста YQL-запроса. BAD_REQUEST
Максимальный размер значений параметров 50 Мб ExecuteDataQuery Ограничение на суммарный размер параметров, передаваемых при выполнении ранее подготовленного запроса. BAD_REQUEST

Ограничения персистентной очереди

Параметр Значение
Максимальный размер передаваемого сообщения 12 Мб