Название базовой системы (платформы): | 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: атомарности, согласованности, изолированности и устойчивости.
В текущем выпуске добавлены некоторые возможности, улучшена производительность и исправлены некоторые ошибки. Среди важнейших изменений:
Добавлена возможность создавать глобальную или сегментированную таблицу на основе другой глобальной, сегментированной или локальной. На август 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.
Подрядчики-лидеры по количеству проектов
SAP CIS (САП СНГ) (38)
Softline (Софтлайн) (35)
РДТЕХ (33)
BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
ФОРС - Центр разработки (25)
Другие (746)
Сапиенс солюшнс (Sapiens solutions) (7)
Navicon (Навикон) (3)
BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
IFellow (АйФэлл) (2)
Инфосистемы Джет (2)
Другие (35)
Синимекс (Cinimex) (1)
Nexign (Нэксайн) ранее Петер-Сервис (1)
Форсайт (1)
R-Style Softlab (Эр-Стайл Софтлаб) (1)
Эркер (1)
Другие (20)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Oracle (44, 179)
SAP SE (6, 178)
Microsoft (23, 142)
PostgreSQL Global Development Group (14, 130)
Постгрес профессиональный (ППГ, Postgres Professional) (6, 41)
Другие (266, 260)
Microsoft (3, 11)
SAP SE (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, 12)
Arenadata (Аренадата Софтвер) (3, 7)
VMware (2, 7)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 6)
TData (ТДата) (2, 4)
Другие (7, 12)
Распределение базовых систем по количеству проектов, включая партнерские решения (проекты, партнерские проекты)
Oracle Database - 143 (106, 37)
Microsoft SQL Server - 135 (104, 31)
PostgreSQL СУБД - 130 (81, 49)
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 103 (103, 0)
SAP HANA (High Performance Analytic Appliance) - 76 (72, 4)
Другие 79
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)
SAP HANA (High Performance Analytic Appliance) - 1 (1, 0)
Другие -5
PostgreSQL СУБД - 13 (4, 9)
VMware Tanzu Greenplum - 3 (0, 3)
Firebird (database server) - 2 (0, 2)
Apache Hadoop - 2 (1, 1)
ClickHouse - система управления базами данных (СУБД) - 2 (2, 0)
Другие -9
PostgreSQL СУБД - 12 (5, 7)
VMware Tanzu Greenplum - 6 (0, 6)
RT.WideStore - 3 (3, 0)
RT.Warehouse СУБД - 3 (3, 0)
Diasoft Digital Q.Database - 3 (3, 0)
Другие -9