Последняя предварительная версия YugabyteDB поддерживает PostgreSQL 15 и представляет собой значительное обновление по сравнению с предыдущей версией.
YugabyteDB - это облачная распределенная база данных SQL, которая поддерживает все функции PostgreSQL и предназначена для облачных OLTP-приложений, которым требуется масштабируемость, высокая устойчивость к сбоям или глобально распределенное развертывание.
Компания была основана в 2016 году бывшими инженерами Facebook, которые разработали YugabyteDB как облачную нативную базу данных, способную обслуживать OLTP-нагрузки как масштабируемого, так и интернет-масштаба с низкой задержкой запросов, чрезвычайной устойчивостью к сбоям и глобальным распределением данных.
Последняя версия описывается как значительное обновление. В ней добавлена поддержка YSQL API для ряда функций, включая хранимые генерируемые столбцы, внешние ключи в разделенных таблицах и нерасчлененные NULL в уникальных индексах. Также добавлены такие оптимизации выполнения запросов, как инкрементная сортировка и мемоизация, а также различные улучшения наблюдаемости и безопасности.
Новая диагностика запросов значительно упрощает настройку плохо работающих SQL-запросов, позволяя собирать и экспортировать подробную диагностическую информацию, включая переменные и константы привязки, статистику pg_stat_statements, сведения о схеме, историю активной сессии и планы выполнения.
В этой версии также по умолчанию включена история активных сеансов, что позволяет получать представление об активности системы в реальном времени и за прошедшие периоды.
Среди улучшений - возможность генерировать UUID без PgCrypto. Это уже было доступно с помощью расширения pgcrypto, но теперь функция gen_random_uuid() является частью ядра PostgreSQL. Это улучшение означает, что разработчики могут создать таблицу, которая будет автоматически назначать первичный ключ UUID, без необходимости использовать команду CREATE EXTENSION.
Второе улучшение облегчает создание генерируемых столбцов. Вы уже могли сделать это из последовательности с помощью GENERATE ALWAYS AS IDENTITY, но добавить столбец, вычисляемый из других, было невозможно. Теперь это исправлено.
Другие улучшения включают ускоренную обрезку разделов, когда планировщик запросов видит, что может быть прочитан только один раздел, он оптимизирует план выполнения соответствующим образом; новый режим кэширования планов, который переключается с пользовательского плана для подготовленных операторов, оптимизированного для каждого значения, на общий план с параметром после пяти выполнений, если стоимость не кажется более дорогой.
В Yugabyte 2.25 также добавлен ряд оптимизаций операций Hash и Sort, включая инкрементную сортировку, которая позволяет избежать необходимости полной сортировки, когда индекс частично отсортирован по одному столбцу.
YugabyteDB 2.25 доступна уже сейчас.