Список изменений YDB CLI

Версия 2.10.0

Дата выхода 24 июня 2024. Для обновления до версии 2.10.0 перейдите в раздел Загрузки.

Функциональность

  • Добавлена команда ydb sql, работающая поверх QueryService, позволяющая выполнять любые DML/DDL команды.

  • Добавлен режим notx для опции --tx-mode в команде ydb table query execute.

  • Добавлены времена начала и конца в описании длительных операций (export, import).

  • Добавлена поддержка описания объектов типа replication в командах ydb scheme describe и ydb scheme ls.

  • Добавлена поддержка типов big datetime: Date32, Datetime64, Timestamp64, Interval64.

  • Переработана команда ydb workload:

    • Добавлена опция --clear в подкоманде init, позволяющая удалить все существующие таблицы перед созданием новых.
    • Добавлена команда ydb workload * import для заполнения таблиц начальным контентом перед началом нагрузки.

Изменения с потерей обратной совместимости

  • Переработана команда ydb workload:

    • Опция --path перемещена на уровень конкретного типа нагрузки. Например: ydb workload tpch --path some/tables/path init ....
    • Значение опции --store=s3 переименовано в --store=external-s3 в подкоманде init.

Исправления ошибок

  • Исправлена работа с цветовыми схемами в формате PrettyTable

Версия 2.9.0

Дата выхода 25 апреля 2024. Для обновления до версии 2.9.0 перейдите в раздел Загрузки.

Функциональность

  • Улучшены таблицы с логическими планами запросов: стали информативнее, добавлены цвета, исправлены некоторые ошибки.
  • Для команды ydb workload поддержана опция -v, включающая вывод отладочной информации.
  • Добавлена возможность запустить ydb workload tpch --store s3 с источником s3 для измерения производительности федеративных запросов.
  • Добавлена опция --rate для команды ydb workload для ограничения количества транзакций (запросов) в секунду.
  • Добавлена опция --use-virtual-addressing для импорта/экспорта s3, позволяющая переключить режим virtual hosting of buckets для схемы путей s3.
  • Улучшена производительность команды ydb scheme ls параллельным запуском листингов директорий.

Исправления ошибок

  • Исправлено обрезание лишних символов при переносе строк в таблицах CLI
  • Исправлена ошибка обращения к памяти в команде tools restore.
  • Исправлено игнорирование опции --timeout в generic и scan запросах.
  • Добавлен таймаут 60s на проверку версии и скачивание бинарного файла CLI для избежания бесконечного ожидания.
  • Исправлен ряд незначительных ошибок: опечатки, обработка пустых файлов и т.д.

Версия 2.8.0

Дата выхода 12 января 2024. Для обновления до версии 2.8.0 перейдите в раздел Загрузки.

Функциональность

  • Добавлены команды управления конфигурациями кластера ydb admin config и ydb admin volatile-config.
  • Добавлена поддержка загрузки PostgreSQL-совместимых типов командой ydb import file csv|tsv|json. Только для строковых таблиц.
  • Добавлена поддержка загрузки директории из S3-совместимого хранилища в команде ydb import s3. Пока доступна только под Linux и Mac OS.
  • Добавлена поддержка вывода результата выполнения команд ydb table query execute, ydb yql и ydb scripting yql в формате Apache Parquet.
  • В командах ydb workload добавлена опция --executer, задающая используемый тип запросов.
  • Добавлена колонка медианного времени выполнения бенчмарка в таблице статистики в команде ydb workload clickbench.
  • (Experimental) Добавлен тип запросов generic в команде ydb table query execute, позволяющий выполнять DDL и DML операции, с результатами произвольного размера и c поддержкой MVCC. Команда использует экспериментальное API, совместимость не гарантируется.
  • (Experimental) В команде ydb table query explain добавлена опция --collect-diagnostics для сбора диагностики запроса и сохранения её в файл. Команда использует экспериментальное API, совместимость не гарантируется.

Исправления ошибок

  • Исправлена ошибка вывода таблиц в pretty формате с Unicode символами.
  • Исправлена ошибка подстановки неправильного первичного ключа в команде ydb tools pg-convert.

Версия 2.7.0

Дата выхода 23 октября 2023. Для обновления до версии 2.7.0 перейдите в раздел Загрузки.

Функциональность

Исправления ошибок

Версия 2.6.0

Дата выхода 7 сентября 2023. Для обновления до версии 2.6.0 перейдите в раздел Загрузки.

Функциональность

Исправления ошибок

Версия 2.5.0

Дата выхода 20 июня 2023. Для обновления до версии 2.5.0 перейдите в раздел Загрузки.

Функциональность

  • Для команды ydb import file добавлен параметр --timeout, задающий время, в течение которого должна быть выполнена операция на сервере.
  • Добавлен индикатор прогресса в командах ydb scheme rmdir --recursive и ydb import file.
  • Добавлена команда ydb workload kv run read-rows, которая нагружает базу запросами на чтение строк, используя новый экспериментальный API вызов ReadRows (реализован только в ветке main), выполняющий более быстрое чтение по ключу, чем select.
  • В ydb workload topic добавлены новые параметры --warmup-time, --percentile, --topic, задающие время прогрева теста, процентиль в выводе статистики и имя топика соответственно.
  • Добавлена команда ydb workload tpch для запуска нагрузочного теста TPC-H.
  • Добавлен флаг --ordered в команде ydb tools dump, сохраняющий порядок по первичному ключу в таблицах.

Производительность

  • Увеличена скорость загрузки данных в команде ydb import file за счет добавления параллельной загрузки. Число потоков задается новым параметром --threads.
  • Увеличена производительность команды ydb import file json, за счет уменьшения числа копирований данных.

Версия 2.4.0

Дата выхода 24 мая 2023. Для обновления до версии 2.4.0 перейдите в раздел Загрузки.

Функциональность

  • Добавлена возможность загрузки нескольких файлов командой ydb import file.
  • Добавлена поддержка удаления колоночных таблиц для команды ydb scheme rmdir --recursive.
  • Повышена стабильность работы команды ydb workload topic.

Версия 2.3.0

Дата выхода 1 мая 2023. Для обновления до версии 2.3.0 перейдите в раздел Загрузки.

Функциональность

  • Добавлен интерактивный режим выполнения запросов. Для перехода в интерактивный режим выполните команду ydb yql без аргументов. Режим экспериментальный, обратная совместимость пока не гарантируется.
  • Добавлена команда ydb index rename для атомарной замены или переименования вторичного индекса.
  • Добавлена команда ydb workload topic для запуска нагрузки, которая читает и записывает сообщения в топики.
  • Для команды ydb scheme rmdir добавлен параметр --recursive, который позволяет рекурсивно удалить директорию вместе со всем содержимым.
  • Для команды ydb scheme describe добавлена поддержка типов topic и coordination node.
  • Для команды ydb topic consumer добавлен параметр --commit для подтверждения прочитанных сообщений.
  • Для команды ydb import file csv|tsv добавлен параметр --columns, с помощью которого можно указать список колонок вместо заголовка в файле.
  • Для команды ydb import file csv|tsv добавлен параметр --newline-delimited, который подтверждает отсутствие символа переноса строки в данных. Использование этого параметра ускоряет импорт за счет параллельного чтения из нескольких секций файла.

Исправления ошибок

  • Исправлена ошибка, которая приводила к повышенному потреблению памяти и процессора при выполнении команды ydb import file.

Версия 2.2.0

Дата выхода 3 марта 2023. Для обновления до версии 2.2.0 перейдите в раздел Загрузки.

Функциональность

  • Исправлена ошибка, когда невозможно было указать поддерживаемые алгоритмы сжатия при добавлении читателя топика.
  • Добавлена поддержка потокового выполнения YQL-скриптов и запросов на основе параметров, передаваемых через stdin.
  • Значения параметров YQL-запросов теперь могут быть переданы из файла.
  • Запрос на ввод пароля теперь выводится в stderr вместо stdout.
  • Путь к корневому CA сертификату теперь может быть сохранен в профиле.
  • Добавлен глобальный параметр --profile-file для использования указанного файла в качестве хранилища для настроек профилей.
  • Добавлен новый тип нагрузочного тестирования ydb workload clickbench.

Версия 2.1.1

Дата выхода 30 декабря 2022. Для обновления до версии 2.1.1 перейдите в раздел Загрузки.

Улучшения

  • Добавлена поддержка параметра --stats команды ydb scheme describe для колоночных таблиц.
  • Добавлена поддержка файлов в формате Parquet для импорта командой ydb import.
  • Поддержаны дополнительное логирование и ретраи для команды ydb import.

Версия 2.1.0

Дата выхода 18 ноября 2022. Для обновления до версии 2.1.0 перейдите в раздел Загрузки.

Функциональность

  • Добавлена возможность неинтерактивного создания профиля.
  • Добавлены команды ydb config profile update и ydb config profile replace для изменения и замены профилей.
  • Для команды ydb scheme ls добавлен параметр -1, включающая режим вывода по одному объекту на строку.
  • URL сервиса IAM теперь можно сохранять в профиле.
  • Добавлена возможность использовать аутентификацию по логину и паролю без указания пароля.
  • Добавлена поддержка профилей AWS в команде ydb export s3.
  • Добавлена возможность создания профиля используя stdin. Например, можно передать вывод команды YC CLI yc ydb database get information на вход команде ydb config profile create.

Исправления ошибок

  • Исправлена ошибка, когда некорректно выводился результат запроса в формате JSON-array, если он состоял из нескольких ответов сервера.
  • Исправлена ошибка, приводящая к невозможности изменить профиль, используя при этом некорректный профиль.

Версия 2.0.0

Дата выхода 20 сентября 2022. Для обновления до версии 2.0.0 перейдите в раздел Загрузки.

Функциональность

  • Добавлена возможность работы с топиками:

    • ydb topic create — создание топика;
    • ydb topic alter — изменение топика;
    • ydb topic write — запись данных в топик;
    • ydb topic read — чтение данных из топика;
    • ydb topic drop — удаление топика.
  • Добавлен новый тип нагрузочного тестирования:

    • ydb workload kv init — создание таблицы для тестирования kv нагрузки;
    • ydb workload kv run — запуск одной из 3 видов нагрузки: запуск нескольких сессий вставки UPSERT, запуск нескольких сессий вставки INSERT или запуск нескольких сессий с GET-запросами по первичному ключу;
    • ydb workload kv clean — удаление тестовой таблицы.
  • Добавлена возможность деактивировать текущий активный профиль (см. команду ydb config profile deactivate).

  • Добавлена возможность неинтерактивного удаления профиля без подтверждения (см. параметр --force команды ydb config profile remove).

  • Добавлена поддержка CDC для команды ydb scheme describe.

  • Добавлена возможность просмотра текущего статуса БД (см. команду ydb monitoring healthcheck).

  • Добавлена возможность просмотра аутентификационной информации (токена), с которой будут отправляться запросы к БД при текущих настройках аутентификации (см. команду ydb auth get-token).

  • Добавлена возможность чтения данных из стандартного потока ввода для команды ydb import.

  • Добавлена возможность импорта данных в формате JSON из файла или стандартного потока ввода (см. команду ydb import file json).

Улучшения

  • Улучшен процессинг команд. Парсинг и валидация пользовательского ввода теперь более точные.

Версия 1.9.1

Дата выхода 25 июня 2022. Для обновления до версии 1.9.1 перейдите в раздел Загрузки.

Функциональность

  • Добавлена возможность сжатия данных при экспорте в S3-совместимое хранилище (см. параметр --compression команды ydb export s3).
  • Добавлена возможность управления автоматической проверкой доступности новой версии YDB CLI (см. параметры --disable-checks и --enable-checks команды ydb version).