Релиз Picodata 25.4

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

Команда разработчиков Picodata рада сообщить о выпуске распределенной СУБД Picodata 25.4 — нашего основного программного продукта. В новой версии добавлено много новых функций: аудит всех действий пользователя, создание согласованной резервной копии кластера, поддержка TLS-шифрования, более гибкое создание уникальных индексов для шардированных таблиц и многое другое. Подробнее об этом — читайте ниже!

Аудит действий пользователя

В Picodata 25.4 добавлена новая DCL-команда AUDIT POLICY, которая используется для включения/выключения записи DML-операций в журнал аудита для явно указанного пользователя, например:

AUDIT POLICY dml_default BY andy

Политика dml_default включает в себя все операции по изменению данных (INSERT/UPDATE/DELETE). Это существенно расширяет возможности аудита и позволяет более детально отслеживать активность пользователей в кластере. Для отключения используйте следующую команду:

AUDIT POLICY dml_default EXCEPT andy

Новые возможности резервного копирования

В Picodata 25.4 мы добавили отдельную SQL-команду BACKUP, которая создает согласованную, кластерную резервную копию данных. При выполнении BACKUP каждый инстанс в кластере сохраняет данные в поддиректории внутри backup-dir в файле, имя которого содержит временную метку в формате YYYYMMDDThhmmss. В резервную копию входят:

  • файлы .snap, в том числе данные глобальных таблиц (включая конфигурацию СУБД, БД, хранимые процедуры, пользовательские объекты) и шардированных таблиц
  • конфигурационный файл инстанса
  • файл .picodata-cookie 
  • данные плагинов из share-dir

Для восстановления из резервной копии следует остановить все инстансы кластера и выполнить picodata restore --path <backup-path> на каждом инстансе, указывая одну и ту же директорию резервной копии (например, YYYYMMDDThhmmss)

Новый метод аутентификации

Picodata 25.4 теперь поддерживает метод SCRAM-SHA-256 для проверки подлинности как новых, так и существующих пользователей при подключении по протоколу PostgreSQL. SCRAM-SHA-256 (Salted Challenge Response Authentication Mechanism с хэшем SHA-256) — это безопасный метод аутентификации по паролю, который предотвращает перехват пароля и хранит его в криптографическом виде на сервере.

Использование mTLS

Picodata 25.4 позволяет использовать mutual TLS (mTLS) как для коммуникации внутри кластера по протоколу IPROTO, так и для проверки подлинности пользователей. Для конфигурации инстанса доступен новый блок параметров instance.iproto_tls, позволяющий задействовать защищенный режим и указать пути к сертификатам и закрытому ключу. При работе из командной строки для picodata status, picodata expel и picodata plugin configure доступны соответствующие параметры --tls-ca, --tls-cert и --tls-key.

Использование mTLS позволяет аутентифицировать пользователей без необходимости ввода пароля при соблюдении ряда условий: в сертификате должно быть заполнено поле Common Name (например, CN=dbuser@company.com), а при подключении явно задан параметр --tls-auth.

Улучшения в SQL

Помимо новой функции AUDIT POLICY, в Picodata 25.4 мы представили следующие новые возможности SQL:

  • При создании уникальных индексов для шардированных таблиц теперь можно указывать дополнительные колонки (не входящие в ключ распределения). Например, CREATE UNIQUE INDEX ON table (id, item, location) при ключе распределения (id, item). такие колонки должны обязательно идти после ключа.
  • Появилась новая скалярная функция abs().
  • Команда EXPLAIN поддерживает дополнительный формат EXPLAIN (raw), показывающий низкоуровневый план запроса отдельно на узле хранения и маршрутизаторе. Также для EXPLAIN теперь можно задавать ограничивающие опции (например, EXPLAIN SELECT 1 OPTION (SQL_VDBE_OPCODE_MAX = 6)).
  • В блоке OPTIONS можно указывать несколько опций, и это больше не приводит к ошибке (применяется последняя опция).

Полный список нововведений и список исправленных ошибок доступны в документе CHANGELOG.

Попробуйте Picodata в деле!

Для установки Picodata 25.4 следуйте инструкциям на сайте. Готовые пакеты доступны для следующих дистрибутивов Linux:

  • Astra 1.8
  • Debian 12 (bookworm)
  • RHEL/Rocky 9
  • Fedora 41–42

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

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