KeyDB: It's Redis but not as we know it.

No SQL databases are all the rage today, but did you know that when the first ever no sql emerged in 1998 which was developed by Carlo Strozzi, it simply did not make use of the typical SQL commands. But now the term NoSQL seems to have assumed an alter ego of its own. 

Today in my article i discuss briefly about one such NoSQL database or Data Store as they call it. Having its origin from the most preferred, tried and tested by DevOps Engineers world wide, Ranked #1 in Key-Value Datastores and #50 overall by DB Engines. Yes I am indeed referring to Redis, The first choice of Devops Engineers mainly due to its vast community support, out-of-the-box ready to use configuration, meticulously detailed documentation,it being a memory optimized datastore supporting persistence to disk and generally sheer ease of use. But there is a caveat to using Redis as a data store. It commends a marginally large memory footprint when compared to its competetiors such as Memcached or Aerospike. It is also a Single threaded workload program which is a trivial downside. 

Imagine this, a Redis deployment on a server with a decent capacity makes use of just one single core out of multiple CPU vCores that are associated with an instance of a server, results in an inefficient use of the overall compute capacity. Having said that, it is near impossible for us to just opt for an instance with lower cores and large quantity of memory as they can only be chosen as an overall package when it comes to obtaining instances from any of the cloud service providers be it Amazon Web Services, Microsoft Azure or Google Cloud Platform.

Now is there any way to change this? Yes. One option would be to migrate to another Datastore, and this may result in some unhappy developers because of all the module, API and client configuration changes. The Second option would be to optimize the exisiting Redis instance to extract all the pony's that the engine can throw, This seems like a viable option click here to learn more.

But what if i told you that you have a secret third option that is available to you. It is a No SQL data-store that makes the best use of multi-core compute power. It works with all of Redis APIs, Modules and Clients. It does come with a community for support. It is developed by some of the key members who were responsible to build Redis. 

Okay i will cut to the chase, The Key-Value Data store that i m referring to is the new KeyDB developed by John Sully and Team at EQ Alpha Technologies, which is a fork of Redis which comes with support for multi-threaded workloads is a drop in replacement for Redis. Reportedly offering 5X the performance of Redis And most of all, is being supported to and developed in collaboration with "THE" person who developed Redis to what it is, yes i am referring to Salvatore Sanfilippo.

The team that is responsible for the development and optimization of KeyDB is lead by John Sully over at EQ Alpha Technologies. There are certain debates on why Redis by themselves are not on-board with the idea of making Redis work a multi-threaded program. But here is what i think, many organizations use Redis and there is a chance of it breaking compatibility due to any if not many unforeseen circumstances. Personal bench-marking using instances with same capacities from AWS to be impartial to both resulted in KeyDB leading the pack with much more to offer.

This is how you could install without all the code compilation and make.






 



 

Agnel William

DevOps Lead at Here Technologies

3y

Nice one. A multi threaded redis.. Can say. Good. Thanks for this article.

To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics