Ведущий российский СУБД-разработчик Postgres Professional объявил о выпуске в широкое пользование Shardman — новой распределенной СУБД для высоконагруженных систем.
СУБД разрабатывалась специально по требованию бизнеса и подходит для крупнейших инсталляций в десятки и сотни ТБ, когда одиночного сервера недостаточно. 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.
О компании
Postgres Professional — российский разработчик системы управления базами данных Postgres Pro. Она входит в Единый реестр российского программного обеспечения и выпускается в четырех вариантах: Postgres Pro Standard, Postgres Pro Enterprise, а также их сертифицированные ФСТЭК версии. По данным исследования ЦСР, компания возглавляет рейтинг российских разработчиков СУБД (2023).
Команда Postgres Professional не только разрабатывает отечественную СУБД Postgres Pro, но и активно развивает PostgreSQL, являясь признанным экспертом и одной из крупнейших команд проекта в мире. Занимает 1 место в России и 2-е — в мире по вкладу в открытый код PostgreSQL.
Фото пресс-служба Конференции HighLoad++ 2024