What is Key-Value Stores?

In my previous article I explained about categories of NoSQL Databases and in this series of articles I’ll explain all four categories in details.

Let’s look at the essentially key-value stores. Which are really the most common and the most foundational, and also the most general purpose of NoSQL Database. They are not necessarily the most popular because Key-Value stores tend to be less exotic as compare to other NoSQL Databases. But they tend to fit so many different purposes especially well suited to a great variety of applications.

The way key-value stores work is they actually contain tables and tables have rows just like a relational databases, but within the row, in effect what you getting is a big dictionary or associative array of keys and values. And what you’ll also find is that the schema can differ between rows completely. NoSQL liberal rule with respect to schema….. .. .. .. but there are different degrees of freedom here. Each row can have a completely different schema. The only thing is guaranteed is that each will have a unique ID. Key-Value stores are common cloud platforms and perhaps the fact that they work best in terms of their being general purpose in NoSQL Databases would explain this. But two important examples of this are Amazon’s SimpleDB and also the table storage option on Windows Azure, both of those are key-value stores NoSQL Databases.

Other popular NoSQL key-value stores include MemcacheDB and Voldemort. New offering form Amazon web services is called DynamoDB and this is an Amazon web services offering of Amazon’s original Dynamo Key-Value store database. Amazon done lot of business with the help of Dynamo key-value store database. Dynamite is an open-source implementation of Dynamo that predates DynamoDB and Redis and Riak are tow more well-known key-value stores.

List of some Key-Value Stores with their logos for your reference.

So here’s a diagrammatic explanation of how Key-Value stores work. As they Key-Value stores is real databases and they do have real tables..

Now the thing to remember here is this is not like a relational database where storing that value somehow enlists these two tables in a join or in a foreign key constraints. There are no relationships in tables means no foreign keys and no joins. Every record The only reason that number is there is so that later on when we write imperative code and we want to get the most recent orders for customer..

So there are a lot of kind of manual mechanics involved when you move into the world of NoSQL.

In next article I’ll talk details about Document Stores Databases.

Hope this is helpful to you.

Merry Christmas and Happy New Year 2013 🙂



  1. February 11, 2013 at 4:48 am

    Good article. I am facing a few of these issues as well..

  2. February 12, 2013 at 5:41 am

    I dugg some of you post as I cogitated they were very beneficial very beneficial.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: