В Apache ShardingSphere добавлена поддержка Firebird

Разработчики РЕД СОФТ добавили поддержку 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-сервер и развитие дополнительных экспериментальных функций. 

По ссылкам вы найдете информацию о проекте и его настройке, а также сможете обсудить технические вопросы: репозиторий, документация.

Что будем искать? Например,ChatGPT

Мы в социальных сетях