Release of the Tarantool DBMS 2.8

A new version of the Tarantool DBMS 2.8 is available, providing persistent data storage with information retrieval from memory (in-memory database). The DBMS combines the high query processing speed characteristic of NoSQL systems (such as Memcached and Redis) with the reliability of traditional DBMSs (Oracle, MySQL, and PostgreSQL). Tarantool is written in C and allows for the creation of stored procedures in Lua. The code is distributed under the BSD license.

The DBMS enables efficient handling of large volumes of data under high loads. Features of Tarantool include the ability to create handlers in Lua (embedded LuaJIT), using MessagePack format for data exchange with clients, two built-in engines (in-memory storage with fallback to a persistent drive and a two-level disk storage based on LSM-tree), support for secondary keys, four types of indexes (HASH, TREE, RTREE, BITSET), tools for synchronous and asynchronous replication in master-master mode, support for connection authentication, and access control, as well as the ability to process SQL queries.

Main changes:

  • Stabilization of MVCC (Multi-Version Concurrency Control) in the in-memory engine memtx.
  • Support for transactions in the binary IPROTO protocol. Previously, a stored procedure had to be written in Lua for transactions.
  • Support for synchronous replication that operates in relation to specific tables.
  • An automatic failover mechanism based on the RAFT protocol. Tarantool has long implemented asynchronous WAL-based replication, so manual monitoring of the master node is no longer necessary.
  • Automatic master node failover is also available in cases of segmented data topology (sharding), using the vshard library which distributes data across servers with virtual buckets.
  • Improvement of the Tarantool Cartridge framework for building clustered applications when operating in virtual environments. Tarantool Cartridge now handles load better.
  • The Ansible role for deploying clusters has been accelerated by 15-20 times. Thus, working with large clusters has become easier.
  • A tool has been introduced for simplified migration from older versions >1.6 and <1.10, which is available as an additional option at startup. Previously, migration had to be done through deploying an intermediate version 1.10.
  • Optimization of small tuple storage has been carried out.
  • Support for UUID has been implemented in SQL, and type conversion has been improved.

It is worth noting that starting from version 2.10, a new policy for release formation will be implemented. For significant releases that break backward compatibility, the first digit of the version will change; for intermediate releases, the second digit will change, and for patch releases, the third (after 2.10, release 3.0.0 will be issued).

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster