Распределенная реляционная СУБД, предоставляющая строгие гарантии сохранения и целостности данных.
Возможности Shardman
Горизонтальное масштабирование
Встроенная отказоустойчивость
Строгие гарантии изоляции и согласованности данных
Совместимость с PostgreSQL
Архитектура
Shardman — отдельная разработка, которая базируется на PostgreSQL, и не является частью или функцией СУБД Postgres Pro, но обладает ее расширенными возможностями: pgpro_stats, pgpro_audit, CFS.
Shardman — это распределенная СУБД, состоящая из отдельных частей (шардов), каждая из которых является отказоустойчивым кластером. Шарды связаны между собой через специальный транспорт — интерконнект — для быстрого обмена данными при выполнении распределенных запросов. Подключение к Shardman и выполнение всех видов запросов возможно через любой шард.
В Shardman существует несколько видов таблиц:
- распределенные таблицы — таблицы которые разбиты на секции, секции таких таблиц размещены на разных шардах;
- соразмещенные таблицы — вид распределенной таблицы, секции которой также размещены на разных шардах, но при этом связаны с секциями другой распределенной таблицы;
- глобальные таблицы – таблицы, данные которых идентичны на всех шардах в кластере Shardman.
В Shardman также можно использовать глобальные последовательности и глобальные роли.
Когда нужен Shardman
- данных так много, что они не помещаются на один сервер: ни в память, ни на диск;
- нагрузка на запись такая большая (OLTP-система), что один сервер с ней не справляется;
- пользователей так много, что один сервер не справляется с таким количеством;
- сложная логика, потребляющая много процессорного времени (OLAP-система), одного сервера недостаточно.
Когда Shardman не нужен
- один сервер может справиться с нагрузкой на количество потребляемой памяти, ввода/вывода и количество сессий (пользователей)