Команда разработчиков 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.