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