We are planning to use Redis as centralized and highly available cache so we looked at Redis Labs Enterprise Cluster and homegrown Cluster-like setup using Redis along with twemproxy and sentinel. While researching about RELC we stumbled upon this link:
https://redislabs.com/redis-enterprise-documentation/rlec-compatibility/compatibility-with-open-source-redis-cluster
which says - RLEC works with any standard Redis client, both standalone Redis clients and Redis Cluster clients.
What exactly is Open Source Redis Cluster and how can I use it? Is this different from standalone Redis? Why should one use RELC when open source version is available, only for support? I did not find any source which elaborate the differences so if anyone has used one of these solutions, please explain why to choose one over another.
In Redis Enterprise, a cluster is a set of cloud instances, virtual machine/container nodes, or bare-metal servers that let you create any number of Redis databases in a memory/storage pool that's shared across the set. The cluster doesn't need to scale up/out (or down/in) whenever a new database is created or deleted.
The Redis Cluster supports only one database - indicated if you have a big dataset - and Redis supports multiple databases. The Redis Cluster client must support redirection, while the client used for Redis doesn't need it.
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, and geospatial indexes with radius queries.
Disclaimer: I work at Redis Labs, home of open source Redis and the commercial provider of the Redis Labs Enterprise Cluster (RLEC).
What exactly is Open Source Redis Cluster and how can I use it?
The Open Source Redis Cluster is available since v3 - you can read all about it in the documentation and get it from the usual place.
Is this different from standalone Redis?
There are some differences, mostly having to do with multi-key commands/transactions, key-to-shard mapping and configuration. The thing with the cluster is that it lets you scale a Redis database across multiple servers, whereas the standalone mode is bound to a single core and server.
Why should one use RELC when open source version is available, only for support?
"only for support" - Support is definitely one of the advantages you get when you use RLEC. The Open Source Redis has an amazing community that provides dedicated support to the project (some of its members even hang out here at SO). But any help you get from the community is based on goodwill, and some users (mostly commercial ones) prefer having clear SLAs and the ability to directly tap the knowledge of Redis experts (some of which work at Redis Labs). For these types of users support isn't an "only" benefit but practically a mandatory requirement. Besides that,
What's the difference between open source Redis cluster and Redis labs enterprise cluster?
RLEC is an entire solution for Redis deployments - it provides multiple interfaces to manage clustered Redis databases and a multitude of features that make your life so much easier in production, including: on-the-fly scaling, truly transparent high availability and automatic failover, advanced replication performance tuning, monitoring and alerting, and so much more... I don't want to turn this into a sales pitch but feel free to browse our website and contact us for that.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With