Ограничения базы данных
В разделе описаны параметры ограничений, установленных в 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 |
Максимальный размер значения строкового столбца | 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 Мб |