3. Какие различия между Tantor BE 16 и PostgreSQL 16#
3. Какие различия между Tantor BE 16 и PostgreSQL 16 #
- 3.1. Полезные ссылки
- 3.2. Улучшения ядра
- 3.3. Дополнительные поставляемые модули и расширения
- 3.4. Дополнительные поставляемые утилиты
- 3.5. Дополнительные программы Tantor, поставляемые в виде отдельных пакетов
- 3.6. Дополнительные внешние модули, поставляемые в виде отдельных пакетов
- 3.7. Примечания к выпуску
3.1. Полезные ссылки #
3.2. Улучшения ядра #
Увеличенное количество секций в общих буферах.
Оптимизированный алгоритм сжатия данных
pglz(~1,4 раза).Уменьшенное количество блокировок страниц данных в общих буферах.
Оптимизированный процесс восстановления репликации (
fadviseна резервном сервере).Возможность завершения транзакции на основе предустановленного тайм-аута.
Оптимизация для линейного поиска для процессоров архитектуры ARM64.
Проверка контрольной суммы блоков данных при отправке WAL на резервный сервер.
Повышенная информативность диагностической информации:
Диагностика внутренних ошибок СУБД (параметр
backtrace_on_internal_error).Информативность журналов сервера СУБД — стартовые сообщения содержат дополнительную диагностическую информацию.
Приложение сервера pg_controldata содержит дополнительную метаинформацию о редакции и сборке для упрощения диагностики возможных неполадок.
Максимальный размер данных в ячейках таблицы, поддерживаемый модулем pg_dump, составляет 2 ГБ.
3.3. Дополнительные поставляемые модули и расширения #
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. В итоге мы получаем файл аудита, который можно легко ротировать, не загрязняя журналы сервера этими сообщениями. Журналы аудита в системах с высокой нагрузкой могут очень быстро расти. Это расширение позволяет автоматически ротировать файлы на основе заданного количества минут.
pgl_ddl_deploy - это расширение для отправки команд DDL на сервер-реплику во время логической репликации.
pg_uuidv7 - обеспечивает поддержку работы с типом данных UUIDv7.
3.4. Дополнительные поставляемые утилиты #
data_generator — генерирует фейковые данные для тестирования и разработки. Поддерживает различные типы данных и позволяет настраивать генерируемые данные с помощью шаблонов.
pgcompacttable — уменьшает размер раздутых таблиц и индексов без использования тяжелых блокировок. Он разработан для реорганизации данных в таблицах и перестроения индексов с целью освобождения дискового пространства без влияния на производительность базы данных.
pgcopydb — автоматизирует выполнение pg_dump | pg_restore между двумя работающими серверами Postgres. Чтобы как можно быстрее скопировать базу данных на другой сервер, желательно использовать параллельные опции pg_dump и при этом иметь возможность передавать данные в несколько задач pg_restore.
3.5. Дополнительные программы Tantor, поставляемые в виде отдельных пакетов #
Платформа Тантор — полнофункциональная модульная платформа администрирования и мониторинга СУБД Tantor и большинства кластеров на базе PostgreSQL. Платформа упрощает повседневную работу с СУБД, значительно повышая простоту управления. Функциональные возможности программного обеспечения включают: умный и простой пользовательский интерфейс, автоматическую адаптивную настройку кластера, обзор системы, оповещения и мониторинг, автоматические проверки состояния и аудит схемы, выполнение задач обслуживания через графический интерфейс, продвинутый профилировщик запросов и администрирование нескольких серверов в одном месте.
pipelinedb — высокопроизводительное расширение PostgreSQL, созданное для непрерывного выполнения SQL-запросов на потоковых данных. Результаты этих непрерывных запросов хранятся в обычных таблицах, которые можно запросить как и любую другую таблицу или представление. Таким образом, непрерывные запросы можно рассматривать как очень производительные, инкрементально обновляемые материализованные представления. Как и любая система обработки данных, Tantor PipelineDB эффективен для работы с определенными нагрузками и не подходит для других.
pg_anon — самостоятельная программа на Python для работы с СУБД Tantor или базами данных на основе PostgreSQL, предназначенная для маскировки и анонимизации данных при миграции данных между производственными и тестовыми средами.
pg_cluster — ansible-плейбук для кластера высокой доступности PostgreSQL на Patroni.
pg_configurator — инструмент для настройки PostgreSQL.
3.6. Дополнительные внешние модули, поставляемые в виде отдельных пакетов #
pg_timetable — продвинутый, автономный планировщик заданий для PostgreSQL, который выполняет SQL-запросы, системные программы и встроенные задачи по пользовательскому расписанию cron или с заданным интервалом, с поддержкой связанных рабочих процессов и конфигурации, управляемой из базы данных.
pgbouncer — легковесный пулер подключений PostgreSQL, который располагается между клиентами и базой данных для эффективного управления и повторного использования соединений с сервером, снижая издержки и повышая параллелизм при высоких нагрузках.
wal-g — инструмент для создания зашифрованных, сжатых резервных копий Tantor BE (полных и инкрементальных) и отправки/загрузки их в/из хранилища без сохранения на вашей файловой системе.
3.7. Примечания к выпуску #
Первый выпуск Tantor BE — 16.2.1.
Значительные изменения можно найти на соответствующей странице.
Все остальные изменения см. в Примечаниях к выпуску.