YDB CLI
Данные и БДRUКлиент распределённой СУБД YDB: запросы на YQL, работа со схемой, импорт и выгрузка данных, резервные копии и нагрузочные тесты. В отличие от двух других консолей этого раздела не требует ни аккаунта, ни облака — YDB открыта под лицензией Apache 2.0, и базу можно поднять локально.
YDB / Яндекс
автор
C++
язык
Apache-2.0
лицензия
★ 4770
GitHub звёзд
Установка
Обновление — ydb update, версия — ydb version. Скрипт дополняет PATH только в bash и zsh. Версию можно зафиксировать переменной YDB_CLI_VERSION.
Что умеет
Выполняет запросы на YQL, в том числе в интерактивном режиме, и показывает план запроса — при желании картинкой.
Совмещает то, что у PostgreSQL разнесено по отдельным утилитам: резервное копирование и восстановление, выгрузку и загрузку в объектное хранилище и в сетевую папку, копирование данных и диагностику кластера — всё в одном бинарнике. У psql для дампа и восстановления нужны pg_dump и pg_restore.
Несёт встроенный слой нагрузочного тестирования с готовыми промышленными сценариями: TPC-C, TPC-H, TPC-DS, ClickBench, плюс собственные stock, kv, topic, transfer и query. Ни у psql, ни у clickhouse-client штатного аналога нет.
С версии 2.32 в интерактивной консоли есть режим с искусственным интеллектом, переключается по Ctrl+T; с 2.33 он умеет искать по документации YDB.
Что нужно
Аккаунт не нужен. Проект открыт под лицензией Apache 2.0, клиент бесплатен и умеет анонимную аутентификацию: если режим не задан, запросы уходят без учётных данных. Работает и с собственным кластером, и с управляемым сервисом в облаке.
При подключении обязательны только адрес и имя базы. Если не указан порт, применяется 2135; если не указан протокол — gRPC с шифрованием.
Частые вопросы
Нужен ли аккаунт Yandex Cloud, чтобы пользоваться YDB CLI?
Нет. YDB открыта под лицензией Apache 2.0, клиент бесплатен и поддерживает анонимную аутентификацию. Локальную базу можно поднять в Docker образом ydbplatform/local-ydb и работать с ней без всякого облака.
После установки пишет «ydb: command not found» — почему?
Скрипт установки дополняет PATH только при запуске в bash или zsh. Перезапустите оболочку, а в другой оболочке добавьте путь до клиента в PATH вручную.
Что указывать при подключении, если не знаю порт и протокол?
Достаточно адреса и имени базы. Если порт не указан, применяется 2135; если не указан протокол, используется gRPC с шифрованием.
Можно ли снять нагрузочный тест без сторонних инструментов?
Да, встроенной командой ydb workload с готовыми сценариями: stock, kv, tpcc, tpch, tpcds, clickbench, topic, transfer и query.