DBConvert Streams
IDE для баз данных, миграция и CDC в реальном времени — в одном рабочем процессе.
Запрашивайте данные,
перемещайте их,
поддерживайте их синхронизацию,
и предоставьте AI-ассистенту доступ ко всему этому
без переключения между инструментами.
Если проект вам пригодился, поставьте ⭐
Зачем это нужно
Обычно рабочая среда состоит из нескольких инструментов:
-
клиент для запросов к БД
-
скрипты или инструменты для миграции
-
отдельный конвейер CDC
Такая схема работает, но инструменты разрознены.
DBConvert Streams объединяет их в одном рабочем пространстве.
Как это работает
Представьте себе:
DBeaver / DataGrip
-
инструмент миграции
-
CDC
— и при этом не нужно каждый раз переключаться между инструментами
Пример
Выполняйте запросы к базам данных и файлам:
SELECT *
FROM read_parquet('orders.parquet') o
JOIN postgres.public.customers c
ON o.customer_id = c.id
LIMIT 10;
Затем используйте тот же запрос как источник данных и передавайте результаты куда угодно.
Что можно делать
-
просматривать базы данных, файлы и S3
-
выполнять SQL-запросы сразу к нескольким источникам
-
перемещать данные между системами
-
поддерживать синхронизацию данных с помощью CDC
-
подключать Claude, Cursor или Copilot — AI получает доступ к актуальным схемам, данным и потокам (только для чтения, через MCP)
Всё это — в одном рабочем процессе.
Примечание: Здесь находится общедоступная страница DBConvert Streams: примеры конфигураций, документация, отслеживание ошибок и заметки к выпускам. Сам продукт является проприетарным.
Быстрый старт
Работает где угодно: на ноутбуке, VPS или собственной инфраструктуре. Не зависит от облачных сервисов и не привязывает вас к поставщику.
Настольное приложение
Скачать для Windows, macOS или Linux — учётная запись не требуется.
Расширение для AI-клиента
Скачайте dbconvert-streams-.mcpb из раздела Releases и добавьте его через Claude → Settings → Extensions. Потребуется указать строки подключения и папки. Устанавливать больше ничего не нужно: ни DBConvert Streams, ни набор инструментов, ни сервер.
postgres://user:password@host:5432/dbname
mysql://user:password@host:3306/dbname
s3://bucket/folder?region=us-east-1
Несколько источников можно указать в одном поле, разделив их пробелами, например shop=postgres://… orders=mysql://…. Тогда один запрос сможет объединять данные из всех этих источников.
Добавьте папки с файлами Parquet, CSV или JSON с помощью выбора папки. Каждый источник появится в чате как набор инструментов только для чтения, а один запрос сможет охватывать сразу несколько источников.
Один файл работает в Windows и Linux: в комплект входят бинарные файлы для обеих систем, и приложение выбирает нужный автоматически. Поддержка macOS появится в одном из следующих выпусков.
Не пользуетесь Claude? Этот же сервер запускается в контейнере, поэтому его можно использовать с любым MCP-клиентом,
который умеет запускать контейнеры:
docker run -i --rm slotix/stream-mcp "shop=postgres://user:password@host:5432/shop"
Cursor и VS Code позволяют настроить подключение одним щелчком: Добавить в Cursor · Добавить в VS Code — VS Code запросит строку подключения во время установки; в Cursor нужно заменить пример. Настройка папок, ключей S3 и других источников описана в руководстве по автономному серверу.
Сервер, входящий в комплект, является проприетарным программным обеспечением и распространяется по лицензии DBConvert Streams. Лицензия MIT в этом репозитории распространяется на примеры, документацию и ресурсы репозитория, но не на бинарный файл.
Самостоятельное размещение (Docker)
Разверните приложение на любом компьютере с Docker: локальном сервере, VPS (DigitalOcean, Hetzner, AWS EC2 и т. д.) или собственной инфраструктуре:
curl -fsSL https://dbconvert.nyc3.digitaloceanspaces.com/downloads/streams/latest/docker-install.sh | sh
Что такое DBConvert Streams?
DBConvert Streams — это IDE для баз данных со встроенными инструментами миграции и CDC в реальном времени.
Просматривайте базы данных, локальные файлы и хранилища S3. Редактируйте данные напрямую. Выполняйте федеративные SQL-запросы, объединяющие таблицы из разных СУБД, — без предварительного экспорта данных.
Основные возможности
На практике это сводится к следующему:
IDE для баз данных и рабочее пространство (бесплатно)
-
Обозреватель данных — просматривайте базы данных, файлы и S3 в одном месте
-
ER-диаграммы — визуализируйте связи между объектами базы данных
-
Сравнение схем — сравнивайте схемы и данные в разных базах данных
-
Навигация по схемам — сохраняйте состояние и выполняйте поиск по подключениям
Федеративный SQL
-
Выполняйте SQL-запросы одновременно к нескольким базам данных и файловым источникам
-
Объединяйте актуальные таблицы PostgreSQL и MySQL с помощью псевдонимов подключений
-
Запрашивайте данные из файлов CSV, JSON, Parquet и хранилищ S3 наряду с базами данных
Встроенный AI Chat — новинка версии 2.5.0
Задавайте вопросы о том, что уже открыто в настольном приложении: таблице, представлении, файле, SQL-консоли, подключении или потоке миграции/CDC. AI Chat получает контекст открытого рабочего пространства и может изучать схемы и данные, объяснять причины ошибки или исправлять неудачный запрос, а также диагностировать состояние потока. Не нужно копировать DDL в отдельный чат.
Используйте установленный CLI-агент на выбор: Claude Code, Codex, GitHub Copilot CLI или OpenCode. AI Chat автоматически предоставляет соответствующий ограниченный набор инструментов DBConvert только для чтения и показывает их работу. Изменять подключения, конфигурацию, потоки или данные он не может.
AI-ассистенты через MCP — новинка версии 2.4
-
Встроенный MCP-сервер: Claude, Cursor, VS Code Copilot, Windsurf, Gemini CLI и Codex получают доступ к актуальным схемам, данным и состоянию потоков — больше не нужно вставлять DDL в чат
-
27 инструментов только для чтения: просмотр подключений рабочего пространства, схем, таблиц и представлений; выполнение SQL-запросов только для чтения и федеративных запросов; сравнение схем и выборок данных; диагностика потоков; просмотр файлов и S3
-
Настройка одним щелчком на панели ✨ AI Assistants; при развертывании с Docker доступ к
/mcpпредоставляется по HTTP(S) -
Доступ только для чтения — фильтр на стороне сервера пропускает только
SELECT: AI может изучать данные и давать рекомендации, но не изменять их
Документация: AI-ассистенты через MCP →
Инструменты
DBConvert Streams предоставляет следующие 27 инструментов MCP только для чтения. Их названия
совпадают с названиями в работающем MCP-сервере.
Подключения и схемы
-
dbconvert_list_connections— получить список подключений рабочего пространства -
dbconvert_get_connection— просмотреть сведения об одном подключении -
dbconvert_list_databases— получить список баз данных -
dbconvert_list_schemas— получить список схем -
dbconvert_list_tables— получить список таблиц -
dbconvert_list_views— получить список представлений
Просмотр таблиц и представлений
-
dbconvert_describe_table— просмотреть столбцы и ключи таблицы -
dbconvert_preview_table— просмотреть строки таблицы -
dbconvert_describe_view— просмотреть сведения о представлении -
dbconvert_preview_view— просмотреть строки представления
SQL-запросы только для чтения
-
dbconvert_run_select— выполнить запрос SELECT -
dbconvert_explain_select— получить план выполнения запроса SELECT
Сравнение схем и данных
-
dbconvert_compare_schemas— сравнить схемы -
dbconvert_compare_data_sample— сравнить выборки данных
Диагностика потоков
-
dbconvert_list_streams— получить список потоков -
dbconvert_get_stream— просмотреть сведения о потоке -
dbconvert_get_stream_status— получить состояние потока -
dbconvert_get_stream_stats— получить сведения о пропускной способности и статистике потока -
dbconvert_get_stream_recent_errors— просмотреть недавние ошибки потока -
dbconvert_get_stream_recent_logs— просмотреть недавние журналы потока
Файлы и S3
-
dbconvert_list_files— получить список файлов рабочего пространства -
dbconvert_get_file_schema— просмотреть схему файла -
dbconvert_preview_file— просмотреть строки файла -
dbconvert_list_s3_buckets— получить список бакетов S3 -
dbconvert_list_s3_objects— получить список объектов S3
Федеративный SQL
-
dbconvert_run_federated_select— выполнить запрос только для чтения к нескольким источникам -
dbconvert_explain_federated_select— получить план выполнения федеративного запроса SELECT
Доступны только операции чтения: фильтр на стороне сервера пропускает
SELECT, поэтому AI-клиент не может изменять подключения, конфигурацию, потоки или
данные. Инструкции по настройке клиента см. в руководстве по настройке MCP.
Миграция данных (режим Load)
Быстро переносите большие наборы данных между базами данных с автоматическим преобразованием и проверкой схемы.
Производительность: 23 миллиона строк (4,38 GB) перенесены из MySQL в Parquet за 35,7 секунды со скоростью 136 MB/s.
CDC в реальном времени (Change Data Capture)
Передавайте операции INSERT, UPDATE и DELETE из источника в целевую систему в реальном времени с минимальной задержкой. Поддерживается CDC для баз данных, файлов и хранилищ S3.
Кому это, скорее всего, не подойдёт
- вам нужно более 100 коннекторов (SaaS, API и т. д.)
- вы уже используете Kafka-пайплайны в большом масштабе
- вам нужны сложные ETL-процессы или преобразования данных
Скриншоты
Обозреватель данных
Просматривайте схемы, изучайте и редактируйте данные в нескольких подключениях к базам данных с помощью единой древовидной навигации:
Федеративные SQL-запросы
Объединяйте таблицы из MySQL, PostgreSQL и файловых источников (CSV, Parquet) в одном запросе:
ER-диаграммы
Визуализируйте связи между базами данных с помощью интерактивных диаграмм «сущность — связь»:
Настройка потоков
Настраивайте миграцию данных и потоки CDC: выбирайте таблицы, задавайте пользовательские запросы и параметры передачи:
Мониторинг потоков
Отслеживайте потоки данных по метрикам в реальном времени: количеству строк, объёму данных, скорости передачи и прогрессу по каждой таблице:
AI-ассистенты
Подключите AI-клиент одним нажатием: он получит доступ к той же рабочей среде, что и вы, только для чтения:
Поддерживаемые источники и целевые системы
Источники
- MySQL / MariaDB / Percona
- PostgreSQL / CockroachDB
- Amazon RDS, Aurora, Google Cloud SQL, Azure Database
- Локальные файлы (CSV, JSONL, Parquet)
- S3-совместимые хранилища (AWS S3, MinIO, DigitalOcean Spaces, Wasabi)
Целевые системы
- MySQL / PostgreSQL
- Snowflake
- CSV / JSONL / Parquet (локальные файлы)
- Amazon S3 / MinIO / S3-совместимые хранилища
- Google Cloud Storage (GCS)
- Azure Blob Storage
Варианты развёртывания
Запускайте систему где угодно: облачная учётная запись не требуется, привязки к поставщику нет.
| Способ | Описание |
|---|---|
| Настольное приложение | Windows, macOS, Linux — локальная установка, учётная запись не требуется |
| Самостоятельное размещение | Docker / Docker Compose на любом компьютере — локальном сервере, VPS или собственной инфраструктуре |
Стоимость
Среда разработки баз данных навсегда остаётся бесплатной. Стоимость миграции данных и потоковой передачи CDC указана в разделе тарифов.
Примеры
Большинству пользователей API не нужен. Весь рабочий процесс — от настройки подключений и выбора таблиц до федеративных SQL-запросов, настройки потоков и мониторинга — доступен в интерфейсе. Примеры
curlниже предназначены для тех, кто хочет автоматизировать развёртывание, интегрировать DBConvert Streams в CI/CD или управлять им из другого сервиса. Это не обязательный способ работы.
Подключения настраиваются отдельно, а конфигурации потоков ссылаются на них по ID. Ниже приведены типичные сценарии работы через API.
1. Создание подключений
# Create a MySQL source connection
curl -X POST http://localhost:8020/api/v1/connections \
-H "Content-Type: application/json" \
-d '{
"name": "mysql-source",
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "password"
}'
# Create a PostgreSQL target connection
curl -X POST http://localhost:8020/api/v1/connections \
-H "Content-Type: application/json" \
-d '{
"name": "pg-target",
"type": "postgresql",
"host": "localhost",
"port": 5432,
"username": "postgres",
"password": "password"
}'
2. MySQL → PostgreSQL (загрузка)
Разовая миграция с выбором таблиц:
{
"name": "mysql-to-postgres-migration",
"mode": "load",
"source": {
"connections": [{
"connectionId": "<mysql-connection-id>",
"database": "sakila",
"tables": [
{ "name": "actor" },
{ "name": "film" },
{ "name": "customer" }
]
}]
},
"target": {
"id": "<pg-connection-id>",
"spec": {
"db": {
"database": "target_db",
"schema": "public",
"schemaPolicy": "drop_and_recreate"
}
}
}
}
3. MySQL → PostgreSQL (CDC)
Репликация в реальном времени с отслеживанием операций вставки, обновления и удаления:
{
"name": "mysql-to-postgres-cdc",
"mode": "cdc",
"source": {
"connections": [{
"connectionId": "<mysql-connection-id>",
"database": "sakila",
"tables": [
{ "name": "actor" },
{ "name": "film" }
]
}],
"options": {
"operations": ["insert", "update", "delete"]
}
},
"target": {
"id": "<pg-connection-id>",
"spec": {
"db": {
"database": "target_db",
"writeMode": "upsert"
}
}
}
}
4. PostgreSQL → S3 Parquet (загрузка)
Экспортируйте таблицы базы данных в файлы Parquet в S3:
{
"name": "pg-to-s3-parquet",
"mode": "load",
"source": {
"connections": [{
"connectionId": "<pg-connection-id>",
"database": "analytics",
"tables": [
{ "name": "orders" },
{ "name": "customers" }
]
}]
},
"target": {
"id": "<s3-connection-id>",
"spec": {
"s3": {
"fileFormat": "parquet",
"upload": {
"bucket": "my-data-lake",
"prefix": "exports/"
}
}
}
}
}
5. Федеративный запрос к нескольким источникам (загрузка)
Объедините данные из MySQL и PostgreSQL в одной целевой системе:
{
"name": "federated-migration",
"mode": "load",
"source": {
"connections": [
{
"alias": "my1",
"connectionId": "<mysql-connection-id>",
"database": "sakila"
},
{
"alias": "pg1",
"connectionId": "<pg-connection-id>",
"database": "dvdrental"
}
]
},
"target": {
"id": "<target-connection-id>",
"spec": {
"db": { "database": "warehouse" }
}
}
}
6. Запуск потока
curl -X POST http://localhost:8020/api/v1/stream-configs/<config-id>/start
7. Отслеживание выполнения
curl http://localhost:8020/api/v1/streams/<stream-id>/stats
Полный список конечных точек и параметров приведён в документации по API. Отдельные файлы конфигурации потоков находятся в каталоге examples/api/, а воспроизводимые тесты производительности, включая прямое сравнение с Debezium, — в каталоге examples/benchmarks/.
Дополнительная информация
Отзывы и поддержка
Если у вас есть вопросы или предложения, воспользуйтесь разделом Обсуждения или создайте обращение.