Traditionally the database space has been dominated by RDBMS. However, this is changing because of the limitations of RDBMS in terms of flexibility and cloud-readiness. An entirely new brand of databases with different approaches are becoming hugely popular among application and solution developers. Together these databases are referred to as NoSQL DBs.
NoSQL databases provide a mechanism for storage and retrieval of data which employs consistency models that have fewer constraints than traditional relational databases. Simplicity of design, horizontal scaling and finer control over availability are some of the motivations that have lead to the popularization of this class of databases. To have a better understanding we can classify NoSQL databases on the basis of their data models, as below.
NoSQL Database Types
Document databases generally keep data as JSON objects which in turn allow the developer to save complex data structures with ease. Popular documents databases are MongoDB and Couchbase.
Graph stores are used to store information about networks, such as social connections. Graph stores include Neo4J and HyperGraphDB.
Key-value stores are the simplest NoSQL databases. Every single item in the database is stored as an attribute name, or key, together with its value. Examples of key-value stores are Riak and Voldemort.
Wide-column stores such as Cassandra and HBase are optimized for queries over large datasets, and store columns of data together, instead of rows.
NoSQL Database Advantages
Flexibility
NoSQL databases are mostly schema-less. This allows for greater flexibility as the developers can keep on evolving the data structures as the project progresses and do not have to worry about porting of data from an old structure to a new evolved structure.
Support for Complex Data Structures
In NoSQL databases, the developer can store complex data structures directly as documents (mostly JSON objects) which substantially reduces the coding effort towards data storage and query.
Performance
NoSQL databases, by virtue of their distributed nature, are more scalable and have fewer performance challenges. Every time a new server is added to a NoSQL database cluster, there is performance scaling by virtue of the fact that another processor has been added into the system. This is a huge advantage for web- and mobile-based businesses for whom going down for a single moment can have catastrophic consequences.American market research firm Market Research Media says “The fledgling NoSQL marketplace is going through a rapid transition – from the predominantly community-driven platform development to a more mature application-driven market. Scaling up web infrastructure on NoSQL basis have proven successful for Facebook, Digg and Twitter.”
Daffodil does a lot of work around NoSQL databases and knows exactly in which situations migration to NoSQL might be a good idea. In case you want to know more about NoSQL DBs we will be happy to schedule a free consultation with one of our NoSQL Database Experts. Just enter your contact details in the “Discuss your requirements with us”box