Redshift разрешил строки до 16 млн байт в SUPER с отдельным включением

Redshift разрешил строки до 16 млн байт в SUPER с отдельным включением
Содержание статьи

6 ноября AWS сообщила, что Amazon Redshift поддерживает отдельные строки размером до 16 миллионов байт в типе SUPER. Возможность включается параметром базы данных. В разборе Mentoring.digital рассмотрим условия, которые влияют на загрузку данных и существующий SQL.

Как включается новый предел

Параметр называется enable_large_strings_opt_in. Значение Yes включает расширенный предел, No оставляет ограничение 65 535 байт. Если параметр не задан, Redshift сохраняет существующее поведение кластера.

Для provisioned-кластера документация требует перезагрузку, чтобы применить параметр. Его текущий эффект можно проверить запросом SELECT is_large_string_enabled();. После явной установки Yes или No сброс параметра не возвращает его к исходному значению по умолчанию. Поэтому изменение стоит сначала проверить в отдельном окружении и включить в план обслуживания.

Какие операции затронуты

Обновление распространяется на загрузку из JSON, PARQUET, TEXT и CSV, а также преобразования ELT. AWS отдельно называет JSON_PARSE, CONCAT и LISTAGG: они могут принимать и возвращать строки до нового предела. Это полезно, когда внутри исходной записи находится длинный документ.

У VARCHAR(MAX) остаётся важная особенность. В выражениях при включённом параметре он разрешается в VARCHAR(16000000), а CREATE TABLE с VARCHAR(MAX) по-прежнему создаёт столбец VARCHAR(65535). Изменение параметра не означает, что все обычные текстовые столбцы автоматически стали больше.

Что проверить в загрузке и SQL

Редакционная рекомендация: подготовьте тестовые записи около прежнего предела и выше него. Проверьте исходный файл, загрузку, преобразование, сохранение в целевую таблицу и чтение тем клиентом, который используется в приложении. Предел задан в байтах, поэтому измеряйте фактический объём закодированного текста.

Убедитесь, что промежуточное приведение типа или схема приёмника не возвращают прежнее ограничение. Разобрать такой путь данных и контрольные SQL-запросы можно с ментором по SQL и базам данных.

Похожие статьи по данной теме