Monitis, the first affordable network and systems monitoring solution based 100% in the Cloud, continues its series of blog posts meant to offer a comprehensive guide to NoSQL technology and brands. We want to help you make the right choice that fits the particular needs of your company.
Over the past several weeks, we presented a series of posts on existing popular NoSQL data storage tools that are intended to store unprecedented large amounts of data, offer flexible and horizontal scalability and provide blazing-fast processing queries. We also got down to the nitty-gritty and compared several well-known NoSQL DBs…such as Apache Cassandra, and HBase.
Now, in this post, we’ll look at MongoDB, Redis and Riak.
MongoDB combines the best of key-value stores, document databases, object databases, and realtional database management systems (RDBMS). What that means is that MogoDB shards automatically (as with a key-value store), allows JSON-based dynamic schema documents, and offers a rich query language in the manner of an RDBMS. Plus, MongoDB offers auto sharding (existing and new data are sharded automatically) and a MapReduce implementation feature.
Take a closer look at a MongoDB cluster and you’ll see that it is made of several kinds of servers:
- The shard servers that store data
- The configuration servers that store the configuration
- The router servers that receive and route the requests
- One server thread used by MapReduce
Redis is not a “plain” key-value store, as it supports a variety of values in different data structures — such as lists and sets of binary-safe strings, as well as sorted sets, which contain a floating-number score. Last year, VMWare took over as project sponsor of Redis.
Here are a few facts about Redis’ makeup:
Riak is a hybrid database that is manufactured by Basho Technologies but is based on Amazon Dynamo. It acts as a document-oriented database and also a distributed key-value store. It’s fault-tolerant and scales linearly. It is it’s intended for use in web applications. And it is like Cassandra in that it does not have a central controller, and so there is no single point of failure.
Riak is a fully distributed key/bucket store, and implements MapReduce.
The design of Riak includes three basic elements: buckets, keys, and values. Data is organized into buckets, which are little more than flat namespaces for logically grouping key-value pairs. Buckets can store the data directly or be a link to another bucket. All the nodes in the cluster play the same role. The data (existing and new) are sharded automatically among the nodes.
What does all this have to do with Monitis, you may ask? Well, more and more, our clients, who depend on our ability to monitor servers, networks,and a host of other key metrics 24/7 from the cloud, want our advice, too, on what kind of cloud- or Saas-based database technology to use. And we’re happy to oblige.
Let us know if this information is useful to you, and look for more posts about NoSQL tools.