Название базовой системы (платформы): | 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.
Подрядчики-лидеры по количеству проектов
SAP CIS (САП СНГ) (38)
Softline (Софтлайн) (35)
РДТЕХ (33)
BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
ФОРС - Центр разработки (25)
Другие (729)
Сапиенс солюшнс (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)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
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)
Распределение систем по количеству проектов, не включая партнерские решения
Oracle Database - 106
Microsoft SQL Server - 104
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 102
PostgreSQL СУБД - 79
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
Oracle Database - 2
Tarantool Платформа in‑memory вычислений - 2
Другие 13
Postgres Pro СУБД - 6
PostgreSQL СУБД - 4
Tantor СУБД - 3
ADB - Arenadata DB - 3
Apache Kafka - 2
Другие 10
ADB - Arenadata DB - 5
PostgreSQL СУБД - 4
Postgres Pro СУБД - 3
ADH - Arenadata Hadoop - 2
Сбер Platform V Pangolin - 2
Другие 8