The article gives a list of types and properties of the differnet nosql databases and then some criteria to help choose the right one for an application.
The previous articles listed at the start of the post
Large scale analysis solution must be able to provide very fast response time (<1sec) to some complex queries which are typically structured from a large fact table which is joined to many dimension tables and grouped-by them.
Using standard SQL databases such as MySQL InnoDB (as well as leading commercial vendors) will result in poor performance even when correct indexes are set up since in many case the database will be forced to perform unnecessary full table scans which will kill the performance if dimension tables are large.
I gave last week a talk on Non-relational databases in general & Cassandra in particular. Focussed on the advantages & cost/implications, to assist organizations in making a smart choice.
Posted the slides here:
The last couple of slides contain links for great resources for further learning.
Michael wrote in his post about beauty of MongoDB.
I tried to run a couple lines of code and found it very easy to get started with.
There are steps to get there:
1. Download binaries. I used version 1.2.3 for Win32
2. Create the data folder C:\data\db
3. Run mongod.exe
At this step you have MongoDB running.
4. Download C# driver
Modern projects need to manipulate with huge data amount, as result the necessity of high scalability and high performance is very actual and always grows.
RDBMS databases cannot supply ultimate solution and alternative concepts like in NoSQL systems look very interesting.
The first interesting option is key-value stores like Google Big Table or Cassandra that provide fast and extremely large-scale solution but you can forget the comfort work with SQL queries like in RDBMS databases.
Many companies are starting to follow the large Web players (Google, Yahoo, FaceBook, Amazon &c) in adopting scalable non-relational databases, that can handle the extreme demands of web-scale. New "nosql" databases not only address these demands, but also do it efficiently without the huge traditional costs of RDBMS clusters & storage solutions.
Here's a nice explanation of the different models & patterns of these databases: