Postgres Pro Shardman

Продукт
Название базовой системы (платформы): PostgreSQL СУБД
Разработчики: Постгрес профессиональный (ППГ, Postgres Professional)
Дата премьеры системы: 2024/03/04
Дата последнего релиза: 2024/08/08
Технологии: СУБД

Содержание

Основная статья: Система управления базами данных (СУБД)

2024

Postgres Pro Shardman 14.12.2

Компания Postgres Professional выпустила обновленную версию СУБД Postgres Pro Shardman 14.12.2. Об этом разработчик сообщил 8 августа 2024 года.

Postgres Pro Shardman — распределённая реляционная СУБД для высоконагруженных систем, подходит для крупнейших инсталляций до ста и выше ТБ, когда одиночного сервера недостаточно. СУБД позволяет разделить данные на части и распределить их по разным серверам — шардам. При этом решение обеспечивает встроенную отказоустойчивость и гарантированное соблюдение требований ACID: атомарности, согласованности, изолированности и устойчивости.

В текущем выпуске добавлены некоторые возможности, улучшена производительность и исправлены некоторые ошибки. Среди важнейших изменений:

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

Исправлена обработка параметра IF NOT EXISTS команды CREATE TABLE для глобальных и секционированных таблиц. Ранее была вероятность создания таблицы с неправильной структурой, если секционированная таблица с идентичным именем уже существовала на одном из узлов кластера.

Обновлено значение по умолчанию для параметра хранения num_parts на 24 для достижения более равномерного распределения данных для кластеров с 2, 3, 4, 6 и 8 узлами. Добавлен параметр конфигурации enable_merge_append, который включает или отключает использование планировщиком планов MergeAppend. В частности, позволяет отключить использование этих планов, если они слишком дорогие.

Добавлен параметр конфигурации pgpro_stats.track_shardman_connections, который включает или отключает обработку операторов Shardman.

Добавлена возможность выполнять соединения с выражением VALUES на удаленном сервере. Удалено ограничение в 64 тысячи на количество таблиц в запросе.

Добавлено представление shardman.pg_stat_monitor, которое предоставляет статистику работы детектора распределённых взаимоблокировок и служб разрешения подготовленных транзакций.

Добавлено глобальное представление shardman.gv_stats_sdm_statements, предоставляющее доступ к агрегированной статистике для распределённых запросов.

Обновлено представление pgpro_stats pgpro_stats_sdm_statements. Теперь оно содержит статистику только по запросам, задействующим сегментированные таблицы.

Обновлена поддерживаемая версия утилиты pg_probackup до 2.8.2. Утилиты управления

Добавлена возможность резервного копирования кластера с табличными пространствами, которые теперь находятся в каталоге резервной копии.

Добавлена возможность восстанавливать полностью или частично работающий кластер из резервной копии, сделанной на частично работающем кластере, с использованием shardmanctl probackup.

Введён параметр --no-wait для команды shardmanctl shard add, с которым команда shardmanctl не ждёт запуска сегмента и снимает блокировку с других команд. Введён параметр s|--scale для команды shardmanctl bench run. Задаёт коэффициент масштабирования, на который умножается количество сгенерированных строк. Добавлена команда shardmanctl script, которая выполняет нетранзакционные команды из файла или командной строки на указанных сегментах.

Изменён файл конфигурации sdmspec.json, генерируемый командой shardmanctl config generate. Из файла исключены параметры, зависящие от ресурсов системы и рабочей нагрузки на узел кластера. Эти параметры сохраняют значения по умолчанию. Ранее инициализация кластера могла завершиться ошибкой на узлах с меньшими ресурсами из-за высоких значений этих параметров.

Добавлена возможность восстанавливать из резервной копии одного кластера другие, если они имеют одинаковую топологию. Добавлена команда shardmanctl config update ip, которая обновляет IP-адреса указанных узлов кластера.

Добавлен параметр --log-format в shardmand, который задаёт формат журнала: json или text.

Выпуск минорных обновлений Postgres Pro Shardman версии 14.12.1

Компания Postgres Professional 20 июня 2024 года объявила о выпуске минорных обновлений Postgres Pro Shardman версии 14.12.1.

Postgres Pro Shardman — распределённая реляционная СУБД для высоконагруженных систем, подходит для крупнейших инсталляций в десятки и сотни ТБ, когда одиночного сервера недостаточно. СУБД позволяет разделить данные на части и распределить их по разным серверам — шардам. При этом решение обеспечивает встроенную отказоустойчивость и гарантированное соблюдение требований ACID: атомарности, согласованности, изолированности и устойчивости.

В очередном выпуске в Postgres Pro Shardman добавлены различные возможности, улучшена производительность и исправлены некоторые ошибки. Среди ключевых изменений:

Ядро и расширения

  • Добавлен параметр REMOTE команды EXPLAIN, который разрешает вывод EXPLAIN по запросам, выполняемым на удалённом сервере. По умолчанию включён.
  • Реализована собственная логика оценки стоимости планов. Она позволяет планировщику чаще выбирать общие планы при схожести общего и специализированного.
  • Добавлена поддержка исключения секций в процессе выполнения для узлов плана, выполняющих агрегацию данных на сторонних серверах. В первую очередь оптимизация необходима для устранения секций в общих планах.
  • Добавлены накопительные метрики по величине сетевого трафика между узлами кластера Shardman в представлении shardman.pg_stat_netusage.
  • Обновлено представление pg_stat_activity, которое теперь показывает статус обслуживающих процессов Shardman.

Утилиты управления

  • Устранены уязвимости CVE-2023-45288 и CVE-2023-44487.
  • Устранена ошибка в команде shardmanctl cleanup, которая приводила к невозможности удаления групп репликации.
  • Улучшен вывод команды shardmanctl forall при пустом результате.
  • Устранён сбой утилиты shardmand, ранее возникавший, если кластер Shardman не полностью сконфигурирован.

Выпуск Shardman

Postgres Professional 4 марта 2024 года объявил о выпуске в пользование Shardman — распределенной СУБД для высоконагруженных систем. СУБД разрабатывалась специально по требованию заказчиков и подходит для крупнейших инсталляций в десятки и сотни ТБ, когда одиночного сервера недостаточно. Shardman уже внесен в Реестр российского ПО, получил сертификацию ФСТЭК и находится на завершающих стадиях тестирования в крупных компаниях нефтегазового и финансового сектора.

С точки зрения архитектуры, Shardman — распределённая СУБД, состоящая из нескольких серверов, где каждый шард хранит часть данных. При этом часть серверов используется для репликации данных каждого шарда, что обеспечивает отказоустойчивость. Для связи между шардами используется мультиплексор — специальный «транспорт», оптимизирующий работу с сетью и нагрузку на СУБД при выполнении распределённых запросов. Shardman отличают три ключевых особенности:

  • Возможность горизонтального масштабирования. Когда сервер СУБД перестаёт справляться с нагрузками, хранящиеся на нём данные можно равномерно распределить по другим серверам — шардам. Систему можно продолжать прозрачно масштабировать, добавляя к ней новые серверные мощности.
  • Встроенная отказоустойчивость. Shardman автоматически реплицирует данные каждого шарда на резервные серверы, чтобы в случае отказа любого из узлов, прозрачно для пользователей перенаправить запросы на другой сервер.
  • Строгие гарантии изоляции и согласованности данных. Shardman расширяет модель согласованности данных PostgreSQL для распределенных систем и гарантирует прозрачную работу транзакций для клиентов БД.

«
В информационных системах крупных компаний или банков мы подходим к высоким транзакционным нагрузкам, приближающимся к потолку возможностей традиционных СУБД. В таких случаях без горизонтальной масштабируемости не обойтись. В ответ на такие потребности заказчиков мы выпустили Shardman — СУБД, которая сможет обеспечить горизонтальное масштабирование баз данных OLTP при строгом соответствии требованиям ACID (атомарность, согласованность, изолированность и надёжность), — отметил Иван Панченко, заместитель генерального директора, сооснователь Postgres Professional.
»

По информации разработчика, Shardman подойдет для случаев, когда:

  • Пользователей так много, что один сервер не справляется с таким количеством соединений;
  • Нагрузка на запись такая большая (OLTP-система), что один сервер с ней не справляется;
  • Данных так много, что они не помещаются на один сервер: ни в память, ни на диск;
  • Требуется обработка большого объёма данных параллельно (OLAP-система);
  • Приложение имеет сложную логику на стороне СУБД, в результате чего потребляется много процессорного времени.

Дополнительные возможности: прозрачная работа с данными, ускорение работы приложений, инкрементальный бэкап и механизм сжатия данных Shardman основана на базе PostgreSQL 14, но снабжена дополнительными функциями для крупных инсталляций. Среди главных плюсов СУБД:

  • Прозрачная работа с данными. Клиент, подключившись к любому узлу распределённой системы, получает доступ ко всем данным, хранящимся в системе.
  • Механизм интерконнекта, отсекающий избыточные TCP-сессии между шардами, снижающий нагрузку на сеть и конкуренцию за ресурсы.
  • Ускорение работы приложений, имеющих сложную логику на стороне СУБД и повышение общего TPS всей СУБД.
  • Дополнительные возможности СУБД Postgres Pro Enterprise: механизм сжатия данных CFS, инкрементальный бэкап на уровне страниц, механизм для резервного копирования PTRACK и расширение pgpro_stats.



СМ. ТАКЖЕ (5)


Подрядчики-лидеры по количеству проектов

За всю историю
2021 год
2022 год
2023 год
Текущий год

  SAP CIS (САП СНГ) (38)
  Softline (Софтлайн) (35)
  РДТЕХ (33)
  BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
  ФОРС - Центр разработки (25)
  Другие (729)

  Сапиенс солюшнс (Sapiens solutions) (7)
  BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
  Navicon (Навикон) (3)
  Softline (Софтлайн) (2)
  Wone IT (ранее SoftwareONE Россия, СофтвэрУАН и Awara IT Russia, Авара Ай Ти Солюшенс) (2)
  Другие (35)

  Группа Борлас (Borlas) (1)
  Диасофт (Diasoft) (1)
  КРИТ (KRIT) (1)
  Корус Консалтинг (1)
  Arenadata (Аренадата Софтвер) (1)
  Другие (20)

  Arenadata (Аренадата Софтвер) (5)
  Тантор Лабс (Tantor Labs) (3)
  ФОРС - Центр разработки (2)
  ЗащитаИнфоТранс ФГУП (1)
  Инфорион (1)
  Другие (18)

  Arenadata (Аренадата Софтвер) (5)
  GlowByte, ГлоуБайт (ранее Glowbyte Consulting, ГлоуБайт Консалтинг) (2)
  РДТЕХ (1)
  Сбербанк-Технологии (СберТех) (1)
  Северсталь-Инфоком (1)
  Другие (13)

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Oracle (44, 179)
  SAP SE (6, 177)
  Microsoft (23, 142)
  PostgreSQL Global Development Group (14, 125)
  Постгрес профессиональный (ППГ, Postgres Professional) (6, 40)
  Другие (263, 242)

  SAP SE (3, 11)
  Microsoft (3, 11)
  PostgreSQL Global Development Group (3, 10)
  Oracle (2, 4)
  Постгрес профессиональный (ППГ, Postgres Professional) (2, 3)
  Другие (10, 13)

  PostgreSQL Global Development Group (4, 9)
  Постгрес профессиональный (ППГ, Postgres Professional) (2, 6)
  VK Tech (ранее VK Цифровые технологии, ВК Цифровые технологии и Mail.ru Цифровые технологии) (2, 3)
  Arenadata (Аренадата Софтвер) (3, 2)
  Apache Software Foundation (ASF) (2, 2)
  Другие (9, 9)

  PostgreSQL Global Development Group (3, 13)
  Постгрес профессиональный (ППГ, Postgres Professional) (1, 6)
  Arenadata (Аренадата Софтвер) (3, 5)
  Apache Software Foundation (ASF) (3, 4)
  Тантор Лабс (Tantor Labs) (2, 3)
  Другие (8, 10)

  PostgreSQL Global Development Group (4, 10)
  Arenadata (Аренадата Софтвер) (3, 6)
  VMware (2, 6)
  Постгрес профессиональный (ППГ, Postgres Professional) (2, 5)
  Сбербанк-Технологии (СберТех) (2, 2)
  Другие (4, 6)

Распределение базовых систем по количеству проектов, включая партнерские решения (проекты, партнерские проекты)

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Oracle Database - 143 (106, 37)
  Microsoft SQL Server - 135 (104, 31)
  PostgreSQL СУБД - 125 (79, 46)
  SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 102 (102, 0)
  SAP HANA (High Performance Analytic Appliance) - 76 (72, 4)
  Другие 73

  Microsoft SQL Server - 10 (9, 1)
  PostgreSQL СУБД - 10 (7, 3)
  SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 8 (8, 0)
  Oracle Database - 3 (3, 0)
  SAP HANA (High Performance Analytic Appliance) - 3 (3, 0)
  Другие 6

  PostgreSQL СУБД - 9 (2, 7)
  Tarantool Платформа in‑memory вычислений - 3 (2, 1)
  Oracle Database - 3 (2, 1)
  VMware Tanzu Greenplum - 2 (0, 2)
  Apache Kafka - 1 (1, 0)
  Другие -5

  PostgreSQL СУБД - 13 (4, 9)
  VMware Tanzu Greenplum - 3 (0, 3)
  Apache Kafka - 2 (2, 0)
  Apache Hadoop - 2 (1, 1)
  ClickHouse - система управления базами данных (СУБД) - 2 (2, 0)
  Другие -8

  PostgreSQL СУБД - 10 (4, 6)
  VMware Tanzu Greenplum - 5 (0, 5)
  Apache Hadoop - 2 (0, 2)
  Сбер Platform V Pangolin - 2 (2, 0)
  Diasoft Digital Q.Database - 2 (2, 0)
  Другие -11