Мы рады сообщить о выходе Picodata 26.1 — новой версии распределённой СУБД от команды разработчиков Picodata. В этом релизе мы гарантируем полноценную обратную совместимость с предыдущей версией и представляем множество новых функций. Среди них поддержка транзакционного исполнения запросов, новые возможности SQL, новые параметры конфигурации, многочисленные оптимизации для более эффективного исполнения распределённых запросов, новые возможности ALTER SYSTEM и много другое! Читайте подробности о новых функциях ниже.
Поддержка транзакционного исполнения запросов
В Picodata 26.1 мы реализовали поддержку транзакций, в рамках которых пользователи могут исполнять набор команд атомарно. Транзакция представляет собой процедуру без имени, в теле которой допускается размещение DQL- и DML-запросов. Пример:
DO $$ BEGIN
RETURN QUERY SELECT a FROM t WHERE pk = 1;
UPDATE t SET a = a + 1 WHERE pk = 1;
END $$;
Подробности и ограничения текущей реализации описаны на нашем сайте документации.
Изменения в конфигурации Picodata
Мы навели порядок в файле конфигурации и теперь блоки, связанные с настройкой протоколов HTTP, IPROTO и PGPROTO, имеют стандартную структуру и консистентные названия параметров. Это касается как настройки адресов для сокетов, так и конфигурации защищённого режима (TLS/mTLS).
Прежние параметры HTTP, IPROTO и PGPROTO всё ещё поддерживаются (поэтому существующие конфигурации продолжат работать), но одновременное использование старого и нового формата конфигурации не допускается. Описание файла конфигурации содержит уведомления о новых параметрах, которые пришли на смену устаревшим.
Улучшения в SQL
Основные новинки и улучшения языка SQL в Picodata 26.1:
- При создании таблицы теперь можно использовать служебную колонку
bucket_idв составе индекса первичного ключа (и тогда отдельный индекс поbucket_idне будет создан). Используйте для этого синтаксисCREATE TABLE ... "PRIMARY KEY (bucket_id, …)". - Новые системные параметры СУБД, доступные для изменения через
ALTER SYSTEM:governor_check_replication_error— проверка проблем репликации во всём кластере. По умолчаниюtruesql_log— вывод журнала SQL-операций в общий журнал Picodata. По умолчаниюfalse
- Поддержка нежурналируемых таблиц для движка
memtx. Такие таблицы не персистентны, но зато работают быстрее с DML-запросами. Для создания используйте синтаксисCREATE UNLOGGED TABLE... - Для команды
EXPLAINтеперь поддерживается вывод низкоуровневого плана запроса через синтаксисEXPLAIN (RAW)илиEXPLAIN (RAW, FMT)(с форматированием). В таком виде команда покажет части плана отдельно для узлов с ролью хранения (storage) и ролью маршрутизации (router) - Производительность при выполнении распределённых запросов стала выше благодаря внутренним оптимизациям планировщика SQL
Улучшение пользовательского опыта
Несмотря на то, что мы уже давно предоставляем пошаговую инструкцию по запуску кластера Picodata, теперь это стало ещё проще благодаря встроенной команде picodata demo. Это способ быстрой интерактивной демонстрации Picodata без какой-либо настройки. Команда запускает демонстрационный кластер, состоящий из 4-х инстансов, распределённых по 2-м репликасетам, на локальном узле. В консоль выводятся основные сведения об инстансах и способы подключения к ним.
Пример:
Instance 'default_1_1':
- pid: `244053`
- dir: `/home/user/picodata/picodata_demo/cluster/i1`
- logs: `/home/user/picodata/picodata_demo/cluster/i1/picodata.log`
- http: `http://127.0.0.1:8001`
- iproto: `3001`
- pgproto: `postgres://admin:T0psecret@127.0.0.1:5433`
В веб-интерфейсе Picodata оптимизировано отображение сведений о кластере, проведена работа по улучшению удобства использования страницы. Для пользователей теперь доступен такой параметр как версия кластера, позволяющий отслеживать успешность обновления кластера на новую версию Picodata (версия кластера обновится когда все инстансы перейдут на новую версию ПО).
Прочие изменения
- Новые параметры для таблиц и индексов, созданных на движке хранения Vinyl (
bloom_fpr,page_size,range_size,run_count_per_level,run_size_ratio,compression_level) - Tarantool, использующийся в Picodata, обновлён до версии 2.11.8
- Более стабильная работа кластера при ошибках репликации
Полный список нововведений и исправленных ошибок в Picodata 26.1 доступен в документе CHANGELOG.
Попробуйте Picodata в деле!
Для установки Picodata 26.1 следуйте инструкциям на сайте. Готовые пакеты доступны для следующих дистрибутивов Linux:
- RHEL 8-9 и совместимые с ним дистрибутивы, например Rocky Linux
- Fedora 42-43
- РЕД ОС 7.x и 8.х
- Astra Linux 1.7 и 1.8 SE
- Debian 11 “Bullseye”, 12 “Bookworm” и 13 “Trixie”
- Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat) и совместимые дистрибутивы
- Семейство Alt Linux на основе платформы p10
- ROSA Chrome (платформа 2021.1)
Инструкции и руководства по установке, использованию и администрированию Picodata размещены на портале документации Picodata.
Вопросы и пожелания направляйте в наш Telegram-чат @picodataru.