What is Database Clustering?
Redis is (mostly) a single-threaded process. This is a design decision that allows it to be extremely performant while keeping its implementation simple. However, the downside of that architectural choice is that Redis cannot be easily scaled. A single Redis process is ultimately bound by the CPU core on which it is running, as well as the amount of memory the server has.
To overcome these limitations, Redis Enterprise Pack (RP) supports database clustering. A database cluster is a set of Redis processes, in which each process manages a subset of the database’s keyspace. This allows you to overcome scaling challenges through horizontal scaling by using the RAM resources of multiple cores and multiple servers.
In a Redis database cluster, the keyspace is partitioned into hash slots. At any given time a slot resides on and is managed by, a single node. Each node that belongs to a Redis database cluster can manage multiple slots. This division of the key space, a.k.a. sharding, is achieved by hashing the keys’ names, or parts of these (key hash tags), to obtain the slot where a key should reside.
Despite running multiple Redis processes, database clustering is nearly transparent to the application using it. The database cluster is accessible through a single endpoint that automatically routes all operations to the relevant shards, without requiring a cluster-aware Redis client. This allows applications to benefit from using the database clustering without performing any code changes, even if they were not designed beforehand to use it.
Redis Cluster and Resources
Redis Enterprise Pack
The Redise Pack lets you install an enterprise grade Redis cluster in your environment of choice, whether an on-premises data-center or your preferred cloud platform. It gives you full control of your data and configuration – no clustering or sharding knowledge required!
Redis Enterprise Cloud
Redise Cloud is a fully-managed cloud service for hosting and running Redis dataset without dealing with nodes, clusters, failure recovery or performance stabilization. Our technology does all that in a fully automated manner. Redise Cloud is available on all popular clouds and platforms-as-a-service.