edit-icon download-icon

Comparison between SQL and NoSQL

Last Updated: Aug 17, 2018

NoSQL is a term used to describe non-relational database systems that are highly available, scalable, and optimized for high performance. Instead of the relational model, NoSQL databases (like Table Store) use schemafree data models for data management, which means applications do not require a predefined table structure. NoSQL databases support scenarios with extreme demand for ultra-large data volumes and high concurrency, which makes them widely used in diversified businesses.

Difference

Today’s applications have more demanding requirements than ever before. For example, an online game might start out with just a few users and a very small amount of data. However, if the game becomes successful, it can easily outstrip the resources of the underlying database management system. It is not uncommon for web-based applications to have hundreds, thousands, or millions of concurrent users, with terabytes or more of new data generated per day. Databases for such applications must handle tens (or hundreds) of thousands of reads and writes per second.

Table Store is well-suited for these kinds of workloads. You can start with a small amount of provisioned throughput and gradually increase it as required. Table store scales seamlessly to handle very large amounts of data.

NoSQL databases differ from relational databases in the following main areas:

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.
To achieve a more flexible and horizontally scalable data model , 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.

Advantages of Table Store

Table Store is a NoSQL database service built on Alibaba Cloud’s Apsara distributed operating system that can store and access large volumes of structured data in real time.

Advantages of Table Store are as follows:

  • Provides massive data storage capabilities, schemafree data models and single-row transactions.

  • Automatically performs partitioning and load balancing for data, easily scales tables from gigabytes up to petabytes, and handles large amounts of concurrent access requests (millions) without any extra expansion.

  • Writes 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.

Compared with OLTP (Online Transaction Processing), Table Store is more suitable for Web-scale applications, including social networking, gaming, media sharing, IoT (Internet of Things), log monitoring, and more.

For more information about Table Store data model, see Data model.

Thank you! We've received your feedback.