На рынке появилась распределенная СУБД Shardman для баз данных в сотни терабайт
Как стало известно CNews, российская софтверная компания Postgres Professional выпустила новую распределенную реляционную СУБД для высоких нагрузок — Shardman. Об этом 4 марта редакции рассказали представители компании.
Shardman, созданная специально по запросу заказчиков, предназначена для крупных инсталляций в десятки и сотни терабайт, когда одного сервера недостаточно. СУБД уже находится в Реестре российского ПО, получила сертификацию ФСТЭК и находится на завершающих стадиях тестирования в крупных компаниях нефтегазового и финансового сектора.
Отказоустойчивость за счет распределенной нагрузки
С точки зрения архитектуры Shardman — распределенная СУБД, состоящая из нескольких серверов, где каждый шард хранит часть данных. При этом часть серверов используется для репликации данных каждого шарда, что обеспечивает отказоустойчивость. Для связи между шардами используется мультиплексор — специальный «транспорт», оптимизирующий работу с сетью и нагрузку на СУБД при выполнении распределенных запросов. Shardman отличают три ключевых особенности:
- Возможность горизонтального масштабирования. Когда сервер СУБД перестает справляться с нагрузками, хранящиеся на нем данные можно равномерно распределить по другим серверам — шардам. Систему можно продолжать прозрачно масштабировать, добавляя к ней новые серверные мощности.
- Встроенная отказоустойчивость. Shardman автоматически реплицирует данные каждого шарда на резервные серверы, чтобы в случае отказа любого из узлов, прозрачно для пользователей перенаправить запросы на другой сервер.
- Строгие гарантии изоляции и согласованности данных. Shardman расширяет модель согласованности данных PostgreSQL для распределенных систем и гарантирует прозрачную работу транзакций для клиентов БД.
«В информационных системах крупных компаний или банков мы подходим к высоким транзакционным нагрузкам, приближающимся к потолку возможностей традиционных СУБД. В таких случаях без горизонтальной масштабируемости не обойтись. В ответ на такие потребности заказчиков мы выпустили Shardman — СУБД, которая сможет обеспечить горизонтальное масштабирования баз данных OLTP при строгом соответствии требованиям ACID: атомарность, согласованность, изолированность и надежность», — отметил Иван Панченко, заместитель генерального директора, сооснователь Postgres Professional.
Когда пригодится Shardman
По информации разработчика, Shardman подойдет для случаев, когда:
- Пользователей так много, что один сервер не справляется с таким количеством соединений;
- Нагрузка на запись такая большая (OLTP-система), что один сервер не выдерживает;
- Данных так много, что они не помещаются на один сервер: ни в память, ни на диск;
- Требуется обработка большого объема данных параллельно (OLAP-система);
- Приложение имеет сложную логику на стороне СУБД, в результате чего потребляется много процессорного времени.
Дополнительные возможности
Shardman основана на базе PostgreSQL 14, но снабжена дополнительными функциями для крупных инсталляций. Среди главных преимуществ новой СУБД:
- прозрачная работа с данными: клиент, подключившись к любому узлу распределенной системы, получает доступ ко всем данным хранящимся в системе;
- новейший механизм интерконнекта, отсекающий избыточные TCP-сессии между шардами, снижающий нагрузку на сеть и конкуренцию за ресурсы;
- ускорение работы приложений, имеющих сложную логику на стороне СУБД и повышение общего TPS всей СУБД;
- дополнительные возможностей СУБД Postgres Pro Enterprise: механизм сжатия данных CFS, инкрементальный бэкап на уровне страниц, механизм для резервного копирования PTRACK и расширение pgpro_stats.
Техническая документация
Полная техническая документация к Shardman уже опубликована на сайте Postgres Professional.