DataRay. Данные в фокусе.
Разрабатываем нативную среду на Rust для баз данных, API и истории изменений. Интерфейс на GPUI, фоновая обработка и потоковая загрузка результатов формируют основу быстрого приложения для ежедневной работы с данными.
Задача
При разработке сервиса одна задача часто затрагивает сразу несколько инструментов: SQL-редактор, таблицу с данными, клиент для проверки API и историю изменений. Связь между действиями приходится удерживать в голове.
В DataRay мы объединяем эти сценарии в одном продукте. Разработчик должен видеть структуру базы, работать с запросами, проверять ответы сервиса и понимать, что изменилось в данных. Отдельное направление — сохранение и сравнение логических состояний базы.
Проект находится в разработке для macOS, Windows и Linux. На иллюстрациях — демонстрационные экраны с getdataray.com. Совместные проекты и командные роли относятся к дальнейшему развитию.
Что сделали
-
Нативная архитектура на Rust
Спроектировали приложение на Rust с интерфейсом GPUI. Разделили ядро, драйверы, SQL-инструменты, хранение и интерфейс на самостоятельные модули. Такой подход позволяет развивать Database IDE, API-клиент и Data VCS на общей технологической основе.
-
Быстрая работа с большими таблицами
Вынесли обращения к базам, сети и диску из потока интерфейса в асинхронные задачи Tokio и фоновые обработчики. Организовали передачу результатов порциями и отрисовку видимых строк. Это позволяет работать с большими выборками, не загружая всю таблицу в интерфейс сразу.
-
SQL-редактор и отдельные драйверы
Развиваем редактор с разбором SQL через Tree-sitter и sqlparser-rs, подсказками по структуре базы и просмотром запросов перед применением правок. Для PostgreSQL, MySQL, SQLite, DuckDB, ClickHouse и Microsoft SQL Server предусмотрены отдельные модули драйверов.
-
Собственный движок версий Data VCS
Разрабатываем на Rust движок для сохранения и сравнения логических состояний базы — схемы и данных. В его основе хранилище с адресацией по содержимому, хеширование BLAKE3 и сжатие Zstandard. Пользовательский сценарий включает точечные различия и предварительный план восстановления.
-
API-клиент и повторяемые проверки
Объединяем коллекции запросов, окружения, просмотр ответов и запуск проверок. Сетевой слой, выполнение сценариев, интерфейс и CLI разделены на модули. Это создаёт общую основу для интерактивной работы с API и автоматизированных прогонов.
-
Прямые подключения к инфраструктуре
Предусмотрели прямую работу с базами пользователя, TLS и SSH-туннели для подключения к закрытым окружениям. Секреты интегрированы с системным хранилищем ключей. Основные сценарии проектируются для локального приложения без обязательного облачного посредника.
-
Развитие продукта и публичная демонстрация
Создали сайт с демонстрацией SQL-запросов, редактирования таблиц и истории изменений. Продукт находится в разработке для macOS, Windows и Linux; на иллюстрациях показаны демонстрационные сценарии. Сайт собирает интерес к будущему запуску.
Стек
DataRay строится на Rust с нативным интерфейсом GPUI. Сетевые запросы и операции с базами вынесены из потока интерфейса; Tokio управляет асинхронной работой. Результаты поступают порциями, а таблица отрисовывает видимую область. Отдельные драйверы, SQL-инструменты и собственный движок Data VCS образуют модульную архитектуру для работы с большими объёмами данных.
- Основа приложения
- Rust
- Нативный интерфейс
- GPUI gpui-component
- Фоновая обработка
- Tokio Потоковая загрузка Виртуализация таблиц
- SQL-инструменты
- Tree-sitter sqlparser-rs
- Драйверы баз данных
- PostgreSQL MySQL SQLite DuckDB ClickHouse Microsoft SQL Server
- Движок Data VCS
- Rust BLAKE3 Zstandard
- Соединения и секреты
- TLS / rustls SSH-туннели Системное хранилище ключей