PostgreSQL 17 забезпечує значні покращення продуктивності, нове додаткове резервне копіювання тощо

PostgreSQL 17

Як це було представлено з року в рік між вереснем і жовтнем, Оголошено про запуск нової версії PostgreSQL 17 і як у всіх попередніх версіях, Пріоритетом залишається підвищення продуктивності та оптимізація ресурсів, особливо для таких операцій, як VACUUM, I/O та запити, а найважливішою новою функцією цього випуску є інкрементне резервне копіювання.

Для бізнес-користувачів оновлення містить безліч удосконалень, які спрощують керування та використання бази даних. Хоча PostgreSQL історично була реляційною базою даних, ця версія розширює її інтеграцію за допомогою розширеної функціональності для роботи з документами JSON, яка зазвичай пов’язана з MongoDB Atlas.

Що нового в PostgreSQL 17

У представленій новій версії PostgreSQL 17 a нова структура даних в операції VACUUM, що зменшує споживання пам’яті до 20 разів, дозволяючи цим операціям бути швидшими та ефективнішими з точки зору спільних ресурсів.

З боку Покращення продуктивності, керування журналами зворотного запису (WAL) було оптимізовано, завдяки чому досягнуто удвічі більшої продуктивності запису в системах із великою кількістю одночасних запитів. Було запропоновано a Інтерфейс потокового введення/виведення для покращення послідовного пошуку і оновлення статистики після виконання операції ANALYZE.

На додаток до цього, удосконалення були реалізовані в запитах з пропозиціями «IN». за допомогою використання індексів B-дерева, а також паралельної побудови індексів BRIN були реалізовані, перевірки "NOT NULL" були оптимізовані та обробка загальних виразів таблиці (CTE) була прискорена, а для інтенсивних обчислень було включено SIMD інструкції, такі як AVX-512, для прискорення операцій, таких як функція `bit_count`.

Ще однією новинкою, яка виділяється, є нові функції для JSON, оскільки Тепер користувачі можуть запитувати типи даних JSON за допомогою стандартних команд SQL. Це можливо завдяки новому функціоналу таблиці json, який перетворює дані JSON у табличну структуру. Звідти користувачі можуть робити запити за допомогою пропозиції FROM в SQL, що дозволяє повертати дані в реляційному форматі. Додано функцію `JSON_TABLE` для перетворення даних JSON у стандартні таблиці PostgreSQL.

Файл нова функція інкрементного резервного копіювання у PostgreSQL 17 це дозволяє створювати резервні копії лише змін, зроблених після останнього резервного копіювання повний або інкрементний, що оптимізує використання пропускної здатності та зменшує обсяг пам’яті. Хоча PostgreSQL вже пропонував такі рішення, як WAL Archiving, який копіював журнал попереднього запису (WAL) для підтримки необхідних розділів бази даних, версія 17 вперше представляє власний механізм для виконання інкрементних копій. Ця система не тільки мінімізує переривання під час роботи, менш впливаючи на продуктивність, але також значно скорочує час відновлення, що є ключовим аспектом, оскільки відновлення резервних копій зазвичай є повільним і тривожним процесом для користувачів.

Реалізовано незалежний від платформи двигун для обробки властивостей локалі, що забезпечує узгоджену поведінку в порядку впорядкування результатів запиту. Цей механізм враховує такі фактори, як наявність спеціальних символів і чутливість до регістру під час сортування значень. Механізм логічної реплікації тепер спрощує процес оновлення бази даних без необхідності видаляти слоти логічної реплікації або повторно синхронізувати дані під час переходу на нову версію.

З інші зміни, які виділяються:

  • Експортування довгих рядків за допомогою команди `COPY` було пришвидшено до двох разів.
  • Оптимізоване копіювання, коли кодування джерела та призначення збігаються.
  • Додано опцію `ON_ERROR`, щоб імпорт міг продовжуватися, незважаючи на помилки вставки даних.
  • Додано можливість використовувати стовпці з унікальними ідентифікаторами в розділених таблицях.
  • Реалізована функція відновлення після відмови для перемикання на резервний сервер у відмовостійких конфігураціях.
  • Додано нову утиліту pg_createsubscriber для перетворення фізичної репліки на логічну.
  • Представлено параметр «sslnegotiation» для узгодження безпечних з’єднань TLS безпосередньо за допомогою розширення ALPN TLS.
  • Додано попередньо визначену роль pg_maintain, яка дає користувачам право виконувати операції, пов’язані з обслуговуванням СУБД.

Нарешті, якщо вам цікаво дізнатися більше про це, ви можете ознайомитися з деталями У наступному посиланні.


Додати як пріоритетне джерело в Google