

This also means that NoSQL databases, which don’t support those features, trade consistency for performance and scalability. These reliability features can be summed up as atomicity, consistency, isolation, and durability.

Of course, NoSQL databases are not perfect, and they are not always the right choice.įor one thing, most NoSQL databases do not support reliability features that are natively supported by relational database systems. This is because it’s done by horizontally scaling and distributing the load on all nodes, rather than the type of vertical scaling that is usually done with relational database systems, which is replacing the main host with a more powerful one. Open-source NoSQL databases don’t require expensive licensing fees and can run on inexpensive hardware, rendering their deployment cost-effective.Īlso, when working with NoSQL databases, whether they are open-source or proprietary, expansion is easier and cheaper than when working with relational databases. Some NoSQL database stores also allow developers to store serialized objects into the database, not just simple string values. Usually, each value in the database has a key. Some store types of NoSQL databases include column store, document store, key value store, graph store, object store, XML store, and other data store modes. Unlike relational databases, NoSQL databases are based on key-value pairs. One major, underlying difference is that NoSQL databases have a simple and flexible structure. NoSQL databases have many advantages compared to traditional, relational databases. Advantages and Disadvantages of NoSQL Databases Advantages This means that NoSQL databases do not have a fixed table structure like the ones found in relational databases. One key difference between NoSQL databases and traditional relational databases is the fact that NoSQL is a form of unstructured storage. The success of these proprietary systems initiated development of a number of similar open-source and proprietary database systems, the most popular ones being Hypertable, Cassandra, MongoDB, DynamoDB, HBase, and Redis.

A number of existing indexing structures were reused and improved upon with the purpose of enhancing search and read performance.įirst, there were proprietary (closed source) types of NoSQL databases developed by big companies to meet their specific needs, such as Google’s BigTable, which is believed to be the first NoSQL system, and Amazon’s DynamoDB. This growing interest resulted in a number of NoSQL Database Management Systems (DBMS’s), with a focus on performance, reliability, and consistency. They came up with their own solutions to the problem – technologies like BigTable, DynamoDB, and Cassandra.
The SQL scalability issue was recognized by Web 2.0 companies with huge, growing data and infrastructure needs, such as Google, Amazon, and Facebook. This means that scalability and performance are more of a challenge than ever for relational databases that are schema-based and therefore can be harder to scale. More data is being collected and more users are accessing this data concurrently than ever before. There is no doubt that the way web applications deal with data has changed significantly over the past decade.
