📅  最后修改于: 2023-12-03 15:03:16.500000             🧑  作者: Mango
NoSQL(Not Only SQL)是一种非关系型数据库管理系统,用于大规模数据的存储。其主要是为了解决关系型数据库的扩展性问题而产生的。NoSQL数据库可以分为以下几类:
面向列的数据库又称为列存储数据库,数据以列为单位进行存储,适用于数据量大,但查询一般只需要部分列的情况。典型的面向列的数据库有HBase等。
面向文档的数据库存储的是类似于JSON的文档格式,可以对文档进行嵌套。适合处理复杂的数据结构,典型的面向文档的数据库有MongoDB等。
面向键值对的数据库以键值对的方式存储数据,适用于查询速度要求较高的场景。典型的面向键值对的数据库有Redis等。
面向图形的数据库可以有效地处理具有复杂关系的数据,比如社交网络中的好友关系、物流关系等。典型的面向图形的数据库有Neo4J等。
NewSQL是一种新型的数据库,它结合了关系型数据库和NoSQL数据库的优点。NewSQL试图在保留ACID事务特性的同时,提供分布式高可用性。NewSQL可以分为以下两类:
分布式关系型数据库采用分布式架构,能够实现分布式事务和高可用性。典型的分布式关系型数据库有Google Spanner等。
分布式NoSQL数据库采用分布式架构,实现了大规模数据的分布式存储和处理。典型的分布式NoSQL数据库有Cassandra等。
综上所述,NoSQL适用于数据量大、处理复杂数据结构的场景;而NewSQL则适合于高并发、需要强一致性的场景。