We are pleased to announce the release of Picodata 26.1 — the latest version of the distributed DBMS from the Picodata development team. This release guarantees full backward compatibility with the previous version and introduces a host of new features. These include support for transactional query execution, new SQL capabilities, new configuration parameters, numerous optimizations for more efficient execution of distributed queries, new ALTER SYSTEM capabilities, and much more! Read the details about the new features below.
Transactional query execution
In Picodata 26.1, we have implemented transactions support, allowing users to execute a set of commands atomically. A transaction is an anonymous procedure that can contain DQL and DML queries. Example:
DO $$ BEGIN
RETURN QUERY SELECT a FROM t WHERE pk = 1;
UPDATE t SET a = a + 1 WHERE pk = 1;
END $$;
Details and limitations of the current implementation are described on our documentation portal.
Changes in Picodata configuration
We have reorganized the configuration file, and now the blocks related to configuring the HTTP, IPROTO, and PGPROTO protocols follow a standard structure and use consistent parameter names. This applies to both socket address settings and secure mode configuration (TLS/mTLS).
The previous HTTP, IPROTO, and PGPROTO parameters are still supported (so existing configurations will continue to work), but using both the old and new configuration formats simultaneously is not allowed. The configuration file reference includes notes on the new parameters that have replaced the deprecated ones.
Improvements in SQL
Key new features and improvements to the SQL language in Picodata 26.1:
- When creating a table, you can now include the bucket_id system column in the primary key index (in which case a separate index on bucket_id will not be created). To do this, use the following syntax: CREATE TABLE … “PRIMARY KEY (bucket_id, …)”.
- New DBMS system parameters available for modification via ALTER SYSTEM:
- governor_check_replication_error — checks for replication issues across the entire cluster. Default: true
- sql_log — writes the SQL operation log to the general Picodata log. Default: false
- Support for unlogged tables for the memtx engine. Such tables are not persistent, but they process DML queries faster. To create them, use the syntax CREATE UNLOGGED TABLE…
- The EXPLAIN command now supports outputting a low-level query plan using the EXPLAIN (RAW) or EXPLAIN (RAW, FMT) (formatted) syntax. In this form, the command will display parts of the plan separately for nodes with the storage role and the router role
- Performance when executing distributed queries has improved thanks to internal optimizations in the SQL planner
Imroved user experience
Although we have long provided step-by-step instructions for creating a Picodata cluster, it is now even easier thanks to the built-in `picodata demo` command. This is a quick, interactive way to try out Picodata without any configuration. The command launches a demo cluster consisting of 4 instances distributed across 2 replicasets on the local node. The console displays basic information about the instances and how to connect to them.
Example:
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`
The layout of cluster information in the Picodata web interface has been optimized, and improvements have been made to enhance the page’s usability. Users now have access to a new setting — the cluster version — which allows them to track the progress of the cluster’s upgrade to the latest version of Picodata (the cluster version will be updated once all instances have migrated to the new software version).
Other notable changes
- New settings for tables and indexes created using the Vinyl storage engine (
bloom_fpr,page_size,range_size,run_count_per_level,run_size_ratio,compression_level) - Tarantool in Picodata has been updated to version 2.11.8
- More stable cluster operation in the event of replication errors
See the complete list of Picodata 26.1 new features, bug fixes and improvements in our CHANGELOG.
Try Picodata right away!
Grab a precompiled package of Picodata 26.1 from our download page. We support the following Linux distributions:
- RHEL 8-9 and its compatible derivatives, such as Rocky Linux
- Fedora 42-43
- RED OS 7.x and 8.x
- Astra Linux 1.7 and 1.8 SE
- Debian 11 “Bullseye”, 12 “Bookworm” and 13 “Trixie”
- Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat) and its compatible derivatives
- Alt Linux distributions based on the p10 software platform
- ROSA Chrome (2021.1 platform)
You can find manuals and references on Picodata installation, setup and administering on our documentation portal.
Feel free to get in touch with us on the @picodataen. Telegram channel!