download & runRedis Labs Enterprise Cluster

Learn more

free download

Connect & useRedis Cloud





By creating your account, you agree to our Terms of Use

Forgot your password?

Not Registered?

Forgot your password?

Enter your email address below to have your password reset. We'll send you an email with a link to change your password.

Your IP address will be logged and monitored for this request.

Cancel

Your password has reset!

We have sent you an email with a link to change your password.

OK

Blog

Posted on by Garantia Data

Scaling Out Redis: Read-Only Slaves or Cluster?

Thankfully, no humans are enslaved by Redis.

Instead, it uses asynchronous replicationfor scalability ... or simply for data redundancy.

Also, “a [Redis] master can have multiple slaves … [that] are able to accept other slaves’ connections. Aside from connecting a number of slaves to the same master, slaves can also be connected to other slaves in a graph-like structure.

Setting up Redis replication is trivial and its flexibility provides great power.
Classic use cases for Redis’ replication are:

  1. Scaling performance by using the replicas for intensive read operations.
  2. Making data redundant in multiple locations.
  3. Offloading data persistency costs from the master by delegating it to the slaves.

As a Redis Service provider, we are often asked why we do not provide access to our read-only replicas. It’s a valid question, and our answer relates to each of the use cases:

  1. Scaling


    Our service scales by allocating resources to the databases that we manage. We deploy clusters on which we create database instances. Each database instance is sharded across the cluster’s members and each of the shards is split-able, highly available, relocatable and dynamically (re)sizable. To provide for more reads (or writes, RAM, CPUs, or bandwidth), we just reshard and rebalance as needed. Our cluster immediately and transparently provides access to the new shards, hence there is no need to access read-only replicas.
  2. Redundancy


    We use replication for data redundancy at the shard level. Our redundancy is augmented with monitoring and auto-failover mechanisms that are internal to our service and do not require any user intervention.
  3. Load


    Our replicas are configured to manage data persistency so the master shard is free to process requests.

Since replication is asynchronous, it can introduce inconsistencies when accessing stale data. Sharding, on the other hand, does not exhibit that property and is therefore a preferable approach to addressing read and write scaling challenges. Because our managed service addresses scalability (via sharding), redundancy (with auto-failover) and load management, there are only a handful of scenarios in which having access to the read replicas is of any value.

For example, a replica can be set up to give read-only database access to interested parties (e.g. development).

We are planning to support this functionality in the future, so if you have other use cases for read replicas we’d love to hear about them. Let us know if you are using replication for purposes other than scaling, redundancy or offloading - just drop us a line at info@garantiadata.com or contact our support.

big performance for great apps

60

Subscribe

Get the latest blog posts by email

8 32

Redis Watch

Get the hottest Redis news with our
periodic newsletter!

27

Interact with Redis

Enter your Redis commands,
see how fast it responds!

Redis Cloud > |
37 59

Gartner acknowledges Redis Labs as a Leader

in the 2015 Magic Quadrant for Operational Database Management Systems (ODBMS)

Leaders
47

User Satisfaction and
Market Presence -
redis ranked as
#1 NoSQL

g2crowd
63

Top 10 data stores

Redis in containers
1st
MySQL
2nd
Redis
3rd
MongoDB
4th
PostgreSQL

stackshare.io

45
62

Top 10 technologies on
Docker

Percent of Companies Running This Technology

Redis in containers

datadoghq.com

28

See Our Open Source Contributions

48

NoSQL databases
in containers

Redis in containers

DevOps.com & ClusterHQ.com

11

about us

Redis Labs is the open source home and commercial provider of Redis, a database benchmarked as the world’s fastest. Gartner has named the company as a Leader in it's 2015 ODBMS Magic Quadrant. Redis Labs' software and service solutions power cutting edge applications with blazing fast enterprise-class Redis and are trusted by thousands of customers for high performance, seamless scalability, true high availability and best-in-class expertise. Redis is ranked the #1 NoSQL (and #2 database) in User Satisfaction and Market Presence by G2 Crowd, the top database technology on Docker by Datadog, the most popular NoSQL database in containers by DevOps.com and ClusterHQ, the #1 NoSQL among Top 10 Data Stores by Stackshare and both the fastest growing database since January 2013 and one of the top three NoSQL databases by DB-engines.

61 53 Stance

"How we perform
in peak times at sub-millisecond latencies with Redis Labs"

21

latest news

19 18 44 7 55
60

Subscribe

Get the latest blog posts by email

8 32

Redis Watch

Get the hottest Redis news with our
periodic newsletter!

27

Interact with Redis

Enter your Redis commands,
see how fast it responds!

Redis Cloud > |
37 59

Gartner acknowledges Redis Labs as a Leader

in the 2015 Magic Quadrant for Operational Database Management Systems (ODBMS)

Leaders