At its annual user conference this week, Redis Labs is disclosing the roadmap for Redis 7.0, the database pillar of Redis Enterprise, which will become generally available later in the year. The common thread among the new features and enhancements include expansion of multimodel database support; converged capabilities for managing and deploying AI/machine learning models in-database; and new features supporting stronger database consistency.
The context for all this is that Redis is the most popular in-memory database, and one of the top ten ranked databases overall, according to db-Engines. Redis claims that in the AWS cloud, it is the most frequently used data platform — at 28% of customers, outranking MySQL, PostgreSQL, DynamoDB, MongoDB, and others. And, as measured by monitoring provider DataDog, Redis is the most frequented data platform image running in Kubernetes StatefulSets.
The catch, of course, is that most of the usage is of Redis as an open source cache, not as a full-blown database. Conversely, among Redis Labs customers, who use the fuller featured Redis Enterprise offering, roughly two-thirds use Redis as more than a cache.
So it’s not surprising that Redis Labs is getting more ambitious in promoting Redis as a full-featured database. The new features in the 7.0 release show that it is getting there. Headlining is a new feature for supporting stronger consistency, which is the ‘C’ of ACID. Redis is adding RedisRaft, which is currently in private testing, to support consistently in a distributed cluster. Raft, along with Paxos, is one of the most popular protocols for distributed database consistency, relying on an approach based on a “consensus” of nodes to elect the leader when it comes to committing a transaction update. While supporting Raft does not necessarily mean that Redis has achieved full ACID transaction support, it is an important first step.
Another enhancement focuses on bolstering Redis as a multimodel database. Because Redis runs in-memory, data that is otherwise physically stored in a canonical key-value structure, can be readily exposed in different views, and in recent years, Redis Labs has added support for JSON document and graph data.
In Redis 7.0, Redis Labs is adding two enhancements to its JSON support. The first is with search. RediSearch 2.0, which itself only became generally available barely a month ago; it now adds JSON as a supported data type. Before this, search was run as a separate feature that sat apart from the nodes housing the data engine. RediSearch 2.0 adds new scale-out capabilities to conduct massively parallel searches across up to billions of JSON documents across multiple nodes, returning results in fractions of a second. As the search engine was optimized for the Redis database, Redis Labs claims it runs up to 3x faster than Elasticsearch.
A related enhancement for JSON is support of active-active global replication. Redis has long supported conflict-free replicated data types, that allows asynchronous replication across global regions for eventual consistency. The benefit here is having the ability to run read and write operations locally without having to wait for commits from a single master (which is the traditional method for updating databases with instances spread across multiple regions). With JSON support, RediSearch 2.0 for JSON piggybacks on this feature.
Last, but not least, 7.0 will bring Redis’s model management and deployment capabilities together with a new feature store. RedisAI brings together the machine learning model store, the feature store, and the inferencing engine on the same node. By converging all the AI/machine learning features, performance improves because models are served in the same place where features are stored.
Most of the new features being disclosed are currently in private previews, and will become generally available in the second half of the year.