Wednesday, August 1, 2012

NOSQL Use Cases

I have often been asked when should someone go for a NOSQL solution over age old RDBMS. These are my recommendations for using NOSQL:


  1. You have data which is "poly-structured" in nature. By poly-structured data I mean data comes in various formats.
  2. Data comes in great velocity
  3. Data comes in great volumes.
  4. You require High Availability from your data store
  5. You want to control and have trade offs between Availability,  Consistency and Partition Tolerance
  6. You want to write very quickly than reads ( since data comes in with great velocity and you would want to store it)
  7. You want to be able to process data in parallel, i.e. be able to run the very popular Map Reduce on the data that is stored on the data store
  8. You do not want to be tied down by a fixed schema but you want to have a schema which is free and flexible. You want your data store to support "Elastic Schema Strategy"
  9. Your data store would be able to support on demand horizontal  scalability
  10. You want to be able to provide configurable replication capabilities
  11. You want to have distributed architectures which are autonomous and you do not have to spend time plumbing your application and system. but you get out of the box support from the nosql store.
  12. You want fast programmatic approach to your data and don't want to get stuck with ORM and their dependencies on Relational Data Stores.
  13. You want a low cost solution which is easy to maintain, has good monitoring and management capability and finally, enjoys support from open source.


No comments:

Post a Comment