При работе с Yandex Database (YDB) часто возникает потребность в удобном визуальном инструменте для работы с данными. AWS NoSQL Workbench — популярное приложение для моделирования и тестирования NoSQL баз можно использовать и с YDB благодаря DynamoDB-совместимому Document API.

В чем проблема

YDB поддерживает DynamoDB-совместимый Document API, что теоретически позволяет использовать инструменты экосистемы AWS. Однако NoSQL Workbench напрямую не умеет работать с YDB из-за различий в авторизации и эндпоинтах Yandex Cloud. При попытке прямого подключения получаем ошибку соединения.

Решение: локальный прокси-сервер

Проект ydb-nosql-workbench-proxy — это локальный прокси-сервер на Node.js, который выступает мостом между NoSQL Workbench и вашей базой данных YDB. Прокси перехватывает запросы от Workbench, добавляет необходимые заголовки авторизации для Yandex Cloud и корректно перенаправляет их в YDB через Document API.

Как это работает

NoSQL Workbench подключается к локальному прокси-серверу как к обычному DynamoDB Local. Прокси получает запросы, адаптирует их под требования Yandex Cloud и передает в YDB. Ответы возвращаются обратным путем без изменений.

Минимальный пример использования

Подготовка

Для начала работы потребуется:

  • Serverless база данных YDB в Yandex Cloud

  • Эндпоинт Document API (находится в консоли YDB → раздел "Обзор")

  • Сервисный аккаунт с правами доступа к базе

  • Node.js 18+ на локальной машине

Установка и запуск

Клонируйте репозиторий и установите зависимости:

git clone https://github.com/BaryshevRS/ydb-nosql-workbench-proxy
cd ydb-nosql-workbench-proxy
npm install

Создайте файл .env с параметрами подключения:

YDB_ENDPOINT=https://docapi.serverless.yandexcloud.net/ru-central1/b1gxxxxxx/etnxxxxxx
AWS_ACCESS_KEY_ID=YCAJExxxxxxxxxxxxxx
AWS_SECRET_ACCESS_KEY=YCOxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AWS_REGION=ru-central1
PORT=8000

Параметры берутся из консоли Yandex Cloud: эндпоинт Document API и статические ключи сервисного аккаунта.

Запустите прокси:

npm start

По умолчанию прокси запустится на порту 8000.

Подключение NoSQL Workbench

Скачайте и установите AWS NoSQL Workbench.

В разделе Operation Builder создайте новое подключение:

  • Выберите тип подключения DynamoDB Local

  • Hostname: localhost

  • Port: 8000

Демонстрация работы

После подключения вы увидите список таблиц YDB и сможете работать с данными через графический интерфейс.

Практические сценарии

Визуализация и отладка данных — просмотр содержимого таблиц, выполнение Scan и Query операций без написания кода. Также операции обновления и удаления записей.

Миграция с DynamoDB — удобный инструмент для команд, которые переносят приложения с AWS на Yandex Cloud и привыкли к NoSQL Workbench.

Ограничения

Прокси работает только с Document API — для работы с YQL и реляционными таблицами потребуются другие инструменты.

Некоторые специфичные для DynamoDB операции могут работать не полностью, так как YDB поддерживает не 100% функций DynamoDB.

Заключение

ydb-nosql-workbench-proxy решает конкретную задачу: дает возможность использовать привычный инструмент AWS с базой данных YDB. Проект открыт и доступен на GitHub.