Разработчики РЕД СОФТ добавили поддержку Firebird в Apache ShardingSphere. Благодаря интеграции у пользователей появилась возможность превращать классические реляционные базы данных на Firebird в распределенные системы, используя open-source инструменты для масштабирования высоконагруженных проектов.

Новые возможности работы с данными
Благодаря интеграции с Apache ShardingSphere, пользователи получают доступ к комплексному набору функций на уровне модулей ядра и экосистемы:
- Шардинг (горизонтальное и вертикальное разделение). Разделение огромных таблиц на отдельные шарды обеспечивает кратное ускорение выполнения запросов и параллельную обработку транзакций, снижая нагрузку на одиночные серверы. Поддерживаются различные алгоритмы маршрутизации, включая деление по модулю (MOD), хеширование (MD5), разделение по диапазонам (Boundary Range) и временным интервалам (Auto Interval).
- Разделение чтения и записи. Транзакции записи могут автоматически направляться на мастер-узел, а запросы на чтение распределяться между репликами с использованием механизмов балансировки нагрузки.
- Распределенные транзакции. Реализована поддержка параллельного выполнения транзакций (протокол Local) и двухфазных коммитов (протокол XA), гарантирующих строгую согласованность и изоляцию данных.
- Криптография и маскирование. Поддерживается шифрование данных (например, алгоритм AES) и необратимое хеширование (MD5) перед их записью в базу. Также доступно гибкое маскирование, позволяющее заменять конфиденциальные части строк на спецсимволы (например, «звездочки») непосредственно при возврате данных пользователю.
- Теневые базы данных (Shadow DB). Возможность создания точной копии основной базы данных для проведения безопасного нагрузочного тестирования прямо на рабочей структуре, без риска повредить боевые данные.
Гибкие методы подключения (JDBC и Proxy)
Для развертывания распределенной архитектуры инженерами реализована поддержка двух независимых подходов:
- ShardingSphere-JDBC. Легковесный Java-фреймворк, который напрямую заменяет классический JDBC-драйвер (например, Jaybird). Каждый клиент создает децентрализованный пул соединений к базам данных, что гарантирует максимальную производительность с минимальными накладными расходами на сеть.
- ShardingSphere-Proxy. Отдельный сервер, полностью эмулирующий работу сервера баз данных. Наличие статической точки входа позволяет подключаться к системе из любого языка программирования или терминала, управляя единым пулом соединений.
«Мы стремились не просто предоставить нашим пользователям механизм шардинга, но и внести вклад в open-source движение. Инициатива оказалась востребованной: наши доработки успешно прошли ревью и были добавлены в основной репозиторий Apache ShardingSphere. Что самое ценное — комьюнити активно подхватило проект, сторонние разработчики начали его развивать и добавлять собственные доработки и тесты».
Роман Симаков, заместитель директора дивизиона системного программного обеспечения по разработке
Вклад в Open Source сообщество
Команда РЕД СОФТ проделала объемную работу по доработке ShardingSphere, реализовав адаптацию SQL-парсера и поддержку двоичного сетевого протокола Firebird. Базовые патчи уже прошли ревью и были успешно интегрированы в основной открытый репозиторий проекта Apache ShardingSphere на GitHub.
Это решение преодолевает физические аппаратные ограничения дисковых подсистем серверов. Технология открывает путь к созданию высокомасштабируемых и отказоустойчивых корпоративных платформ на базе Firebird, предоставляя бизнесу эффективный инструмент для роста без потери производительности. В ближайших планах разработчиков оптимизация механизмов предварительной выборки для дальнейшего ускорения сетевых запросов через Proxy-сервер и развитие дополнительных экспериментальных функций.
По ссылкам вы найдете информацию о проекте и его настройке, а также сможете обсудить технические вопросы: репозиторий, документация.