3. Различия между Tantor BE 15 и PostgreSQL 15#
3. Различия между Tantor BE 15 и PostgreSQL 15
3.1. Полезные ссылки
3.2. Улучшения ядра
Увеличенное количество секций в общих буферах.
Оптимизированный алгоритм сжатия данных
pglz
(~1,4 раза).Уменьшенное количество блокировок страниц данных в общих буферах.
Оптимизированный процесс восстановления репликации (
fadvise
на резервном сервере).Возможность завершения транзакции на основе предустановленного тайм-аута.
Возможность добавления новых зарезервированных соединений, количество которых заранее определено в параметре reserved_connections в файле конфигурации. Это позволяет резервировать слоты соединения для пользователей, не являющихся суперпользователями. Слоты, зарезервированные через этот параметр, доступны только пользователям, которые могут иметь новую предопределенную роль pg_use_reserved_connections.
Добавлена оптимизация для линейного поиска для процессоров архитектуры ARM64.
Проверка контрольной суммы блоков данных при отправке WAL на резервный сервер.
3.3. Дополнительные поставляемые утилиты
pgcompacttable - инструмент, разработанный для уменьшения размера раздутых таблиц и индексов без использования тяжелых блокировок. Он предназначен для переорганизации данных в таблицах и восстановления индексов с целью освобождения дискового пространства без влияния на производительность базы данных.
3.4. Дополнительные модули (расширения)
credcheck - обеспечивает проверку учетных данных, во время создания пользователя, смены пароля и переименования пользователя. Используя это расширение, можно определить набор правил для разрешения определенного набора учетных данных и набор правил для отклонения определенного типа учетных данных. Расширение разработано на основе хука check_password_hook в PostgreSQL.
page_repair - предназначен для восстановления отдельных поврежденных страниц с использованием резервных данных с сервера репликации. Он позволяет сэкономить время на операции восстановления, так как не требует восстановления всех данных, а только отдельных страниц.
pg_background - позволяет выполнять команды в фоновом режиме, такие как VACUUM и CREATE INDEX CONCURRENTLY, из SQL, а также запускать автономные транзакции.
pg_cron - это планировщик заданий на основе cron, работающий внутри базы данных как расширение. Он использует тот же синтаксис, что и обычный cron, и позволяет планировать выполнение команд непосредственно из базы данных Tantor.
pg_repack - позволяет удалять раздувание таблиц и индексов (BLOAT) и, при необходимости, восстанавливать физический порядок кластеризованных индексов. В отличие от CLUSTER и VACUUM FULL, он работает онлайн, не удерживая эксклюзивную блокировку обрабатываемых таблиц во время обработки.
pg_stat_kcache - собирает статистику о реальных операциях чтения и записи, выполняемых на уровне файловой системы.
pg_store_plans - предоставляет средства для отслеживания статистики плана выполнения для всех операторов SQL, выполняемых сервером Tantor.
pg_wait_sampling - предоставляет информацию о текущем событии ожидания конкретного процесса. Однако для того, чтобы собрать описательную статистику поведения сервера, пользователь должен многократно отбирать текущее событие ожидания. pg_wait_sampling — это расширение для сбора выборочной статистики событий ожидания, которое предотвращает избыточное семплирование ожидания текущего события.
pgaudit - предоставляет детализированное ведение журнала аудита сеансов и/или объектов через стандартное средство ведения журнала Tantor DBMS. Цель pgAudit - предоставить пользователям Tantor DBMS возможность создавать журналы аудита, которые часто требуются для соблюдения государственных, финансовых или ISO сертификаций.
pgauditlogtofile - это дополнение к pgAudit, которое перенаправляет строки аудита в отдельный файл, вместо использования диспетчера журналирования сервера PostgreSQL. В итоге мы получаем файл аудита, который можно легко ротировать, не загрязняя журналы сервера этими сообщениями. Журналы аудита в системах с высокой нагрузкой могут очень быстро расти. Это расширение позволяет автоматически ротировать файлы на основе заданного количества минут.
3.5. Дополнительно поставляемые программы:
Tantor Platform: полнофункциональная модульная платформа для администрирования и мониторинга Tantor RDMS и большинства кластеров, основанных на PostgreSQL. Платформа упрощает ежедневную работу с RDBMS и значительно упрощает управление RDBMS. Функциональность программного обеспечения включает: умный и простой пользовательский интерфейс, автоматическую адаптивную настройку кластера, обзор системы, оповещения и мониторинг, автоматическую проверку работоспособности и аудит схемы, выполнение задач обслуживания через графический интерфейс, профилирование запросов и администрирование нескольких серверов в одном месте;
pg_anon: это самостоятельная программа на Python для работы с СУБД Tantor или PostgreSQL для маскировки и анонимизации данных во время миграции данных между производственной и тестовой средами;
wal-g: это инструмент создания зашифрованных, сжатых резервных копий Tantor BE (полных и инкрементных) и их отправки/получения из/в хранилища без сохранения в файловой системе;
pg_configurator: инструмент настройки PostgreSQL;
pg_cluster: Ansible playbook для создания кластера PostgreSQL высокой доступности на базе Patroni.
3.6. Заметки к релизу
Первый релиз Tantor BE — это 15.2.0
.
Существенные изменения можно найти на соответствующей странице.
Все остальные изменения см. в Примечаниях к выпуску.