NoSQL describes highly-scalable, high-performance, non-relational databases. NoSQL databases provide schemafree data models, which means applications do not require a predefined table structure. NoSQL databases are suitable for businesses that are diversified, and their support for ultra-large data volumes and high concurrency makes NoSQL databases suitable for a vast range of applications.
|Item||Relational database||NoSQL database|
|Data model||Relational databases normalize data and strictly define tables, columns, indexes, relations between tables, and other database elements. This means that all data in a data table has the same structure.||NoSQL databases do not strictly define the table structure but typically use partition keys and key values to retrieve values, column sets, or semi-structured data.|
|ACID||Relational databases support a group of attributes defined by Atomicity, Consistency, Isolation, and Durability (ACID). Atomicity determines if a transaction has either succeeded or failed completely. Consistency means database transactions cannot undermine the integrity of related data nor the consistency of the business logic. Isolation means concurrent transactions are executed separately and do not interfere with each other. Durability means once a transaction is submitted, its modifications are permanently saved in the database and are not lost even if the server goes down.||Because of superior speed and scaling capabilities, NoSQL databases generally forgo traditional ACID properties to overcome problems such as performance bottlenecks, scalability, operational complexity, and constantly increasing management and support costs. NoSQL databases are preferred for scenarios involving massive data volumes and high concurrency.|
|Performance||Database performance is generally determined by the underlying storage, dataset size, query optimization, index, and table structure.||Write performance is generally determined by the underlying storage, while read performance is determined by the size of the results set.|
|Scaling||To easily scale vertically, hardware with increased CPU speed and greater disk space is typically deployed, which can be technically complex and dramatically increase usage costs.||To easily scale horizontally, distributed clusters of low-cost hardware are typically deployed, increasing the throughput and data scale while maintaining latency.|
|APIs||Data storage and retrieval requests are sent using queries that comply with SQL. These queries are parsed and executed by the relational database system.||NoSQL database APIs are available to store and retrieve data. Using partition keys and key values, applications can query key value pairs, column sets, and semi-structured data.|
Table Store is a type of NoSQL database that:
- Provides massive data storage capabilities.
- Supports schemafree data models.
- Provides single-row transactions.
Table Store is optimal for web applications such as gaming, media sharing, log monitoring, and more. Its server automatically performs partitioning and load balancing for data, so Table Store can easily scale tables from gigabytes up to petabytes, while also handling large amounts of concurrent access requests (millions). The server can also write up to petabytes of data within one millisecond, and its read performance depends on the size of the results set, rather than the overall table size.
To learn more about the Table Store data model, see Data model.