Список изменений YDB CLI
Версия 2.17.0
Дата выхода 4 декабря 2024. Для обновления до версии 2.17.0 перейдите в раздел Загрузки.
Производительность
- Улучшена производительность параллельного восстановления из файловой системы с помощью команды
ydb tools restore
.
Исправления ошибок
- Исправлена ошибка в схеме таблиц, созданных командой
ydb workload tpch
, из-за которой таблицаpartsupp
содержала неверный список ключевых столбцов. - Исправлена ошибка, из-за которой команда
ydb tools restore
завершалась с ошибкойToo much data
, если было установлено максимальное значение параметра--upload-batchbytes
(16MB).
Версия 2.16.0
Дата выхода 26 ноября 2024. Для обновления до версии 2.16.0 перейдите в раздел Загрузки.
Функциональность
- Увеличена пропускная способность команды
ydb import file csv
примерно в 3 раза. - Добавлена поддержка stock-нагрузки для колоночных таблиц.
- Реализована поддержка временных меток в формате ISO 8601 для команд
ydb topic
. - В команду
ydb sql
добавлена опция--explain-ast
, которая выводит AST запроса. - Добавлена подсветка синтаксиса ANSI SQL в интерактивном режиме.
- В команды
ydb workload tpch
иydb workload tpcds
добавлена поддержка синтаксиса PostgreSQL. - В команду
ydb workload tpcds run
добавлена опция-c
для сравнения результата с ожидаемым значением и отображения различий. - В команды
ydb tools dump
иydb tools restore
добавлено логирование событий. - В команду
ydb tools restore
добавлено указание места возникновения ошибки.
Изменения с потерей обратной совместимости
- В команде
ydb topic write
для опции--codec
значение по умолчанию изменено наRAW
.
Исправления ошибок
- Исправлен progress bar для команды
ydb workload import
. - Устранена ошибка восстановления из резервной копии с использованием опции
--import-data
, возникавшая при изменении партиционирования таблицы.
Версия 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 перейдите в раздел Загрузки.
Функциональность
- Добавлена команда ydb tools pg-convert, выполняющая подготовку дампа, полученного утилитой pg_dump, к загрузке в postgres-совместимую прослойку YDB.
- Добавлена команда нагрузочного тестирования
ydb workload query
, которая нагружает базу запросами выполнения скрипта в несколько потоков. - Добавлена команда для просмотра списка разрешений
ydb scheme permissions list
. - В командах ydb table query execute, ydb table query explain, ydb yql и ydb scripting yql добавлена опция
--flame-graph
, задающая путь до файла, в котором необходимо сохранить визуализацию статистики выполнения запросов. - Специальные команды интерактивного режима выполнения запросов теперь не чувствительны к регистру.
- Добавлена валидация специальных команд и их параметров.
- Добавлено чтение из таблицы в сценарии с транзакциями в команде ydb workload transfer topic-to-table run.
- Добавлена опция
--commit-messages
в команде ydb workload transfer topic-to-table run, задающая число сообщений в одной транзакции. - Добавлены опции
--only-table-in-tx
и--only-topic-in-tx
в команде ydb workload transfer topic-to-table run, задающие ограничения на виды запросов в одной транзакции. - Добавлены новые колонки
Select time
иUpsert time
в таблице статистики в команде ydb workload transfer topic-to-table run.
Исправления ошибок
- Исправлена ошибка при загрузке пустого JSON списка командами ydb table query execute, ydb scripting yql и ydb yql.
Версия 2.6.0
Дата выхода 7 сентября 2023. Для обновления до версии 2.6.0 перейдите в раздел Загрузки.
Функциональность
- В ydb workload tpch run добавлена опция
--path
, содержащая путь до директории с таблицами, созданными командой ydb workload tpch init. - Добавлена команда ydb workload transfer topic-to-table, которая нагружает базу запросами на чтение из топиков и запись в таблицу.
- Добавлена опция
--consumer-prefix
в командax ydb workload topic init, ydb workload topic run read|full, задающая префиксы имен читателей. - Добавлена опция
--partition-ids
в команде ydb topic read, задающая список id партиций топика для чтения, разделенных запятой. - Добавлена поддержка форматов параметров CSV и TSV в командах исполнения YQL запросов.
- Переработан интерактивный режим выполнения запросов. Добавлены новые специфичные команды интерактивного режима:
SET stats
,EXPLAIN
,EXPLAIN AST
. Добавлены сохранение истории между запусками CLI и автодополнение YQL запросов. - Добавлена команда ydb config info, которая выводит текущие параметры соединения без подключения к базе данных.
- Добавлена команда ydb workload kv run mixed, которая нагружает базу запросами на запись и чтение.
- Опция
--percentile
в командах ydb workload topic run write|read|full теперь может принимать вещественные значения. - Увеличены значения по умолчанию для опций
--seconds
и--warmup
в командах ydb workload topic run write|read|full до 60 секунд и 5 секунд соответственно. - Изменено значение по умолчанию для опции
--supported-codecs
наRAW
в командах ydb topic create и ydb topic consumer add.
Исправления ошибок
- Исправлена потеря строк при загрузке командой ydb import file json.
- Исправлен неучет статистики во время прогрева команд ydb workload topic run write|read|full.
- Исправлен неполный вывод статистики в командах ydb scripting yql и ydb yql.
- Исправлен неправильный вывод progress bar'a в командах ydb tools dump и ydb tools restore.
- Исправлена ошибка загрузки больших файлов с заголовком в команде ydb import file csv|tsv.
- Исправлено зависание команды ydb tools restore --import-data.
- Исправлена ошибка
Unknown value Rejected
при выполнении команды ydb operation list buildindex.
Версия 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 CLIyc 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).