Форматы данных

YDB поддерживает несколько форматов представления данных и режимов возвращения схемы в результате выполнения запроса через QueryService. Формат и режим возвращения схемы задаются при выполнении запроса и распространяются на каждую инструкцию, которая возвращает данные (например, инструкция SELECT или ключевое слово RETURNING). Конфигурация этих настроек может отличаться между различными SDK.

Форматы представления данных

В следующих разделах описаны доступные форматы представления данных:

  • Protobuf (Value) — формат по умолчанию, данные возвращаются построчно с автоматической конвертацией в нативные типы языка программирования.
  • Apache Arrow — колоночный формат для аналитических задач с высокой производительностью при передаче больших объёмов данных.

Режимы возвращения схемы

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

  • Always (по умолчанию) — схема данных возвращается в каждой части потока результата. Удобен для простой обработки, когда каждая часть обрабатывается независимо.
  • First only — схема данных возвращается только в первой части потока для каждого результирующего набора, в последующих частях она отсутствует. Позволяет сократить объём передаваемых метаданных при потоковой обработке больших результатов.

Состав возвращаемой схемы зависит от формата данных и описан в разделе каждого формата.