This article covers the advantages of NoSQL Databases. #SQL databases are vertically scalable, NoSQL databases are horizontally scalable. SQL databases are table based, while NoSQL databases are document, key-value, graph or wide-column stores.
SQL #databases are better for multi-row transactions, #NoSQL are better for unstructured data like documents or JSON.
#MongoDB, CouchDB, CouchBase, Cassandra, HBase, Redis, Riak, Neo4J are the popular NoSQL databases examples.
The structure of many different forms of data is more easily handled and evolved with a NoSQL database.
NoSQL databases are often better suited to storing and modeling structured, semi-structured, and unstructured data in one database.
Main purpose of NoSQL?
NoSQL Database is a non-relational Data Management System, that does not require a fixed schema.
It avoids joins, and is easy to scale.
The major purpose of using a NoSQL database is for distributed data stores with humongous data storage needs.
NoSQL is used for Big data and real-time web apps.
Reasons to Use a NoSQL Database includes:
1. Storing large volumes of data without structure. A NoSQL database doesn't limit storable data types.
2. Using cloud computing and storage. Cloud-based storage is a great solution, but it requires data to be easily spread across multiple servers for scaling.
3. Rapid development.
Main types of NoSQL databases?
There are four big NoSQL types:
1. Key-value store
2. Document store,
3. Column-oriented database,
4. Graph database.
Each type solves a problem that can't be solved with relational databases.
Actual implementations are often combinations of these.
OrientDB, for example, is a multi-model database, combining NoSQL types.