Valkey 9.0, a fork of the Redis DBMS, has been released.

The release of the Valkey 9.0 database management system, which branched off from Redis last year, has taken place. The fork was created after Redis 7.4 was switched to a proprietary license. In the release of Redis 8.0, the code was returned to an open AGPLv3 license, but this did not affect the development of the Valkey project. Valkey is being developed on a neutral platform under the auspices of the Linux Foundation with participation from developers from companies such as Amazon, Google, Oracle, Ericsson, and Snap. The project's code is written in C and is distributed under the BSD license. It supports operation on Linux, macOS, OpenBSD, NetBSD, and FreeBSD.

The Valkey and Redis databases provide functions for storing data in key/value format, enhanced by support for structured data formats such as lists, hashes, and sets, as well as the ability to execute server-side server Lua scripts. The database is kept in memory and synchronized with the disk version or reflected in the log of changes on disk, ensuring data preservation in case of a crash. Transactions, the publish/subscribe mode, increment/decrement commands, list and set operations (union, intersection), key renaming, master-slave replication, multiple selections, and sorting functions are supported.

In the new version:

  • To transfer data between nodes in the cluster, the technique of atomic slot migration is employed, where data is moved not at the level of individual keys (one key at a time), but at the level of atomic movement of 16,384-byte data storage slots. The transfer uses the AOF format, allowing individual elements of collections to be sent instead of all data associated with a key. This approach significantly increases performance, avoids redirects, and eliminates delays that occurred when a client accessed the migrating key.
  • The ability to define separate lifetimes for different fields in hashes associated with a single key has been added (previously, the lifetime was tied to the key and covered all fields at once). New commands have been introduced for managing data lifetime: HEXPIRE, HEXPIREAT, HEXPIRETIME, HGETEX, HPERSIST, HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HPTTL, HSETEX, and HTTL.
  • Support has been introduced for using numbered databases in clustered mode, where the key space is divided among several different databases (default 16).
  • The efficiency of large clusters has been increased - a cluster of 2000 nodes has demonstrated the ability to process a billion requests per second.
  • An optimization has been added that can increase throughput by 40% in some situations through preloading pipelining commands into memory.
  • An optimization has been added that can increase throughput by 20% in some situations by eliminating data copying in memory (zero copy) during large request processing.
  • Support for Multipath TCP technology has been added to facilitate packet delivery across multiple routes through different network interfaces bound to different IP addresses. The use of Multipath TCP can reduce latency by 25% in some cases.
  • Optimizations utilizing SIMD processor instructions have been added to BITCOUNT and HyperLogLog, which can increase throughput by up to 200% in some scenarios.
  • Geospatial indexes now support location queries based on polygon coordinates.
  • The command 'DELIFEQ' has been added to delete a key if its associated value matches the specified one.
  • The 'CLIENT LIST' command now allows for filter settings to exclude elements by name, flags, activity, database, IP address and permissions.
  • Support for 25 commands that were previously deprecated has been restored.

Source: opennet.ru

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