Sunday, January 25, 2015

SQL vs NO SQL ... Concluded

In this concluding post of SQL vs No SQL technologies I would like to call out various No SQL technologies available in the market place today. I would not go in to SQL as this has been well established and well understood theme. I would also conclude with some use cases of picking up No SQL over SQL or vice-versa.

The three most common operational No SQL db which are used today are Mongo DB, Cassandra and Couch DB. There are a lot more No SQL dbs available and I would point the readers to following link by Kristof Kovacs who does a pretty good job of outlining them for reading and understanding all of them in detail instead of trying to repeat it here.
http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

Regarding some specific use cases of No SQL vs SQL, I think No SQL with all its advantages as outlined in previous posts addresses most of use cases for general use and in my opinion is prefered over SQL technologies. But there are some very specific uses cases and industries where traditional DBs are still preferred. One such use case is around heavy transactional applications such as banking or financial transaction applications. The ACID properties of SQL dbs as discussed in my previous post is very important to such applications and the out of box 2 phase commit protocol and rollback makes SQL stand out. But as I said most of other use cases can be addressed better by No SQL dbs.

Thursday, January 8, 2015

SQL or No SQL- Operational vs Analytical

Happy new year to you all!

Last time we discussed what is Big data and how it relates to No SQL. This time I am going to talk about two different kind of data storage and retrieval requirements: Operational and Analytical.

Operational and analytical workloads for Big Data present opposing requirements and systems have evolved to address their particular demands separately and in very different ways. Operational workloads are supposed to be highly concurrent, low latency, very selective. While analytical workloads are query intensive looking at a huge data set. 
No SQL DBs mainly help on operational side of the spectrum.

Operational vs Analytical overview


OPERATIONAL       ANALYTICAL
Latency 1 ms - 100 ms 1 min - 100 min
Concurrency 1000 - 100,000 1 to 10
Access Pattern Writes and Reads Reads
Queries Selective Unselective
Data Scope Operational Retrospective
End User Customer Data Scientist
Technology NoSQL MapReduce, MPP Database


Next post I will try to conclude the SQL-  NO SQL  topic