Релиз Picodata 26.1

Александр Толстой

Мы рады сообщить о выходе 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 — проверка проблем репликации во всём кластере. По умолчанию true
    • sql_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:

Инструкции и руководства по установке, использованию и администрированию Picodata размещены на портале документации Picodata.

Вопросы и пожелания направляйте в наш Telegram-чат @picodataru.

Мы готовы предложить оптимальное решение для ваших задач!

Свяжитесь с нами, заполнив эту форму


    Нажимая кнопку «Отправить», вы даете согласие на обработку персональных данных