Postgres Pro Shardman

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

Содержание

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

2024

Версии 14.13.2 и 14.13.3

Компания Postgres Professional выпустила обновление СУБД Postgres Pro Shardman. В версиях 14.13.2 и 14.13.3 улучшена производительность, добавлены возможности и исправлены некоторые ошибки. Об этом разработчик сообщил 5 ноября 2024 года.

Среди ключевых изменений версии 14.13.2:

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

  • Управление обработкой событий чтения теперь имеет переключаемые режимы, которые можно задать через shardman.silf-flow-control. Поддерживаются режимы: none, round_robin и shortest_job_first.
  • Добавлены параметры конфигурации — shardman.sync_cluster_settings, который управляет синхронизацией всех выставленных пользователем в кластере параметров конфигурации, а также shardman.sync_cluster_settings_blacklist, исключающий параметры удалённого кластера, которые не нужно синхронизировать.
  • Добавлен параметр конфигурации enable_sql_func_custom_plans. Включение этого параметра позволяет создавать специализированные планы для выполнения функций на языке SQL. По умолчанию включён для новых кластеров и выключен для старых.

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

  • Добавлена команда shardmanctl psql, которая без заданных параметров по умолчанию создаёт подключение к первому доступному главному узлу. Если указано значение параметра --shard, подключение происходит к текущему главному узлу сегмента.
  • Добавлен метод сжатия lz4 для параметра default_toast_compression.

Для версии 14.13.3:

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

  • Добавлены параметры конфигурации, позволяющие управлять сбором информации о сбоях сервера. Параметр crash_info включает эту функциональность, а crash_info_dump и crash_info_location указывают содержимое и расположение файлов с информацией о сбоях соответственно.
  • Утилиты управления
  • Исправлена ошибка переключения с главного сервера на реплику в случае, когда не удаётся получить параметры конфигурации сервера.

Postgres Pro Shardman 14.12.2

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

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

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

Добавлена возможность создавать глобальную или сегментированную таблицу на основе другой глобальной, сегментированной или локальной. На август 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)
  Другие (733)

  Сапиенс солюшнс (Sapiens solutions) (7)
  Navicon (Навикон) (3)
  BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
  GlowByte, ГлоуБайт (ранее Glowbyte Consulting, ГлоуБайт Консалтинг) (2)
  IFellow (АйФэлл) (2)
  Другие (35)

  РДТЕХ (1)
  IBS (1)
  Ред Софт (Red Soft) (1)
  InnoSTage (Инностейдж) (1)
  Сбербанк-Технологии (СберТех) (1)
  Другие (20)

  Arenadata (Аренадата Софтвер) (5)
  Тантор Лабс (Tantor Labs) (3)
  ФОРС - Центр разработки (2)
  Ред Софт (Red Soft) (1)
  Digital Design (Диджитал Дизайн) (1)
  Другие (18)

  Arenadata (Аренадата Софтвер) (5)
  GlowByte, ГлоуБайт (ранее Glowbyte Consulting, ГлоуБайт Консалтинг) (2)
  Диасофт (Diasoft) (2)
  Центр Финансовых Технологий (ЦФТ) (1)
  GMCS (1)
  Другие (16)

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

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

  Oracle (44, 179)
  SAP SE (6, 178)
  Microsoft (23, 142)
  PostgreSQL Global Development Group (14, 126)
  Постгрес профессиональный (ППГ, 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)
  Oracle (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, 11)
  Arenadata (Аренадата Софтвер) (3, 6)
  VMware (2, 6)
  Постгрес профессиональный (ППГ, Postgres Professional) (2, 5)
  Сбербанк-Технологии (СберТех) (2, 2)
  Другие (5, 7)

Распределение систем по количеству проектов, не включая партнерские решения

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

  Oracle Database - 106
  Microsoft SQL Server - 104
  SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 103
  PostgreSQL СУБД - 80
  SAP HANA (High Performance Analytic Appliance) - 72
  Другие 374

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

  Postgres Pro СУБД - 5
  ADB - Arenadata DB - 2
  PostgreSQL СУБД - 2
  Tarantool Платформа in‑memory вычислений - 2
  Oracle Database - 2
  Другие 13

  Postgres Pro СУБД - 6
  PostgreSQL СУБД - 4
  ADB - Arenadata DB - 3
  Tantor СУБД - 3
  Apache Kafka - 2
  Другие 10

  PostgreSQL СУБД - 5
  ADB - Arenadata DB - 5
  Postgres Pro СУБД - 3
  Diasoft Digital Q.Database - 2
  ADH - Arenadata Hadoop - 2
  Другие 9