User:Synchrophoto/Redis Enterprise Pack

Redis Enterprise Pack
Developer(s)Redis Labs
Stable release
4.5.0 / May 2017; 7 years ago (2017-05)[1]
Written inANSI C Golang
Operating systemCross-platform See below
Available inEnglish
TypeData structure store / Distributed Key-Value / Operational data store
Websiteredislabs.com

Redis Enterprise Pack is an in-memory database server implementing a fully distributed, in-memory key-value with additional durability, clustering, and High Availability (HA) options. Just like Redis Open Source that this is based on, Redis Enterprise Pack supports multiple abstract data structures, such as strings, lists, maps, sets, sorted sets, hyperloglogs, bitmaps and geo-spatial indexes. Redis Enterprise Pack is also used by Redis Labs for their managed Redis services Redis Enterprise Cloud and Redis Enterprise Cloud Private.

Architecture

edit

Persistence

edit

While Redis Enterprise Pack supports the standard persistence models of Redis (RDB and AOF), it adds an additional AOF persistence type to be able to sync to storage on every database write. This gives it the ability to keep data on disk more up to date than other implementations of Redis.[2]

Replication

edit

Intercluster Replication

edit

ReplicaOf[3] allows designating a database to be a replica (destination) of one or more databases (sources) hosted in Redis Enterprise Pack. Once you have set this up and the initial data load is completed, all write commands are synchronized from the source(s) to the destination. This allows you to keep a database (destination) that is an exact replica of other databases.

Intracluster Replication

edit

Intracluster replication requires there to be at least two nodes in the cluster to separate the master from the slave for a given shard. The slave shard is constantly synchronized with the master shard at the speed of memory/network. If the master node fails, an automatic failover occurs and the slave node is promoted to be the new master node. When the old master node recovers, it becomes the slave node of the new master node. This auto-failover mechanism guarantees data is served with minimal to no interruption.[4]

Clustering

edit

To overcome these limitations of Redis Open Source, Redis Enterprise Pack 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.[5]

Redis Enterprise Flash

edit

Typically a Redis database is an in memory database, but with Redis Enterprise Flash a database can span RAM and dedicated flash memory (e.g. NVMe SSDs). This enables a Redis database to have much larger datasets with RAM-like latency and performance, but at dramatically lower cost than an all-RAM database. All while staying 100% compatible with Redis and Redis clients.[6]

Licensing and Support

edit

Redis Enterprise Pack is a packaged version of Redis Lab's open source software and closed source technologies and is available in a commercial edition and a fully featured trial edition. The trial version is limited to four shards and thirty (30) days.[7]. Redis Enterprise Pack is available for Ubuntu, Red Hat/CentOS, Oracle Linux, Amazon Linux, Docker, Pivitol Cloud Foundry.[8]

Enterprise support is provided by Redis Lab's in-house support team.

Common Use Cases

edit
  • Caching
  • Time Series Data
  • Geo Spatial
  • Gaming, especially leaderboards

Notable Customers

edit

Users of Redis Enterprise Pack include:

References

edit
  1. ^ "Redis Enterprise Pack Release Notes"
  2. ^ Database Persistence
  3. ^ "Replica Of"
  4. ^ "Database Replication"
  5. ^ "Database Clustering"
  6. ^ "Redis Enterprise Flash"
  7. ^ "What am I allowed to do with the trial version?". Retrieved September 15, 2017.
  8. ^ "Hardware and Software Requirements"
edit


Category:Distributed computing architecture Category:NoSQL Category:Cross-platform software Category:Client-server database management systems Category:Database-related software for Linux Category:Applications of distributed computing Category:Databases Category:Data management Category:Distributed data stores Category:Cache (computing)