一、SQL
SQL:结构化查询语言(Structured Query Language),泛指关系型数据库。
特点:关系型、支持ACID、支持SQL、扩展困难
举例:Oracle,DB2,MySQL,PostgreSQL等
二、NoSQL
NoSQL一词早出现于 1998 年,原指不提供SQL功能的关系数据库。后来,NoSQL 主要指非关系型、分布式、不提供 ACID 的数据库设计模式。现在,NoSQL = Not Only SQL,以放宽ACID原则为代价,NoSQL采取的是终一致性原则,换取弹性扩展能力。
特点:非关系型、不支持ACID、分布式(可扩展)
举例:Redis,MongoDB,Hbase等
三、NewSQL
NewSQL是关系型数据库,选择汲取了SQL和NewSQL的优点,希望将ACID和可扩展性以及高性能结合,但是目前而言,不适用于所有的场景。
特点:关系型、支持ACID、支持SQL、分布式(可扩展)
举例:TiDB、MySQL Cluster等
总结:NoSQL对海量数据的存储管理能力强大,扩展性强,但是对ACID和SQL支持不佳。而RDBMS虽然支持ACID和SQL,但是对海量数据比较乏力,性能不强。这种情况下,NewSQL就运应而生。NewSQL是对各种新的可扩展/高性能数据库的简称,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性。