NewSQL in the end is what?

Database development so far has been 3 generations:

  1. SQL, traditional relational databases, such as MySQL
  2. noSQL, such as MongoDB
  3. newSQL

SQL problem

Internet began to develop rapidly in the beginning of this century, the user scale Internet applications, the amount of data increases, and require 7X24 hours online.

Traditional relational database in this environment has become a bottleneck, usually there are two solutions:

  • Upgrade server hardware

Although the improved performance, but there is always the ceiling.

  • Data slice, the structure using the distributed clusters

Single point database data pieces, is stored in the machine composed of inexpensive distributed cluster.

Better scalability, but also brought new problems.

In a previous data library, and now across multiple libraries, application systems can not themselves to multiple libraries, you need to use the database middleware fragmentation.

When the fragmentation of middleware to do simple data manipulation okay, but it is a headache when it comes to cross-database join, cross-database transactions, many people simply themselves in the business layer processing, higher complexity.

Advantages and disadvantages of noSQL

Later noSQL appeared, gave up the strong transactional guarantees traditional SQL and the relational model, focusing on high availability and scalability of the database.

noSQL main advantages:

  • High availability and scalability, automatic partitioning, easy expansion
  • It does not guarantee strong consistency significantly improved performance
  • There is no limit relational model, extremely flexible

noSQL does not guarantee strong consistency for general applications no problem, but there are still a lot like the same financial enterprise applications have strong consistency requirements.

And noSQL does not support SQL statements, compatibility is a big problem, different noSQL database has its own api operational data, is more complex.

newSQL properties

newSQL noSQL provides the same scalability, but still based on the relational model, also retained most mature SQL as a query language to ensure the ACID properties of a transaction.

Simply put, newSQL is in the traditional relational database integrates noSQL powerful scalability.

Traditional SQL schema design gene is not distributed, newSQL born in the cloud era, is inherently distributed architecture.

noSQL main features:

  • SQL support, support for complex queries and large data analysis.
  • ACID transaction support, support isolation levels.
  • Elastically stretchable, expansion of volume reduction that is completely transparent to the service.
  • High availability, automatic disaster recovery.

Mainstream newSQL project

VoltDB

http://voltdb.com/

ClustrixDB

http : //www.clustrix.com/

MemSQL

http://www.memsql.com/

ScaleDB

http : //scaledb.com/

TiDB

https://pingcap.com/

References:

https://db.cs.cmu.edu/papers/2016/pavlo-newsql-sigmodrec2016.pdf

Guess you like

Origin www.cnblogs.com/yogoup/p/11993178.html