Разработчики РЕД СОФТ добавили поддержку 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. Что самое ценное — комьюнити активно подхватило проект, сторонние разработчики начали его развивать и добавлять собственные доработки и тесты», — прокомментировал Роман Симаков, заместитель директора дивизиона системного программного обеспечения по разработке.





























