【摘要】:表6-2NoSQL的类型1.键值存储Key-Value键值数据模型是NoSQL中最基本的、最重要的数据存储模型。列存储可以将数据存储在列族中,存储在一个列族中的数据通常是经常被一起查询的相关数据。列存储的数据模型具有支持不完整的关系数据模型,适合规模巨大的海量数据,支持分布式并发数据处理等特点。
关系数据库系统的挑战:难以管理所有类型多样的数据;关系模型不容易组织高维时空数据、大规模的图数据等;难以并行化实现大规模数据的高速处理;高并发读写操作难以实现;难以满足对海量数据高效率存储和访问的需求;大规模节点的并行操作很困难;难以满足对数据库高可扩展性和高可用性的需求。
大数据管理系统主要分为三类:第一,分布式文件系统,GFS、HDFS。第二,NoSQL数据库、键值(Key-value)存储数据库,Dynamo;列式存储数据库,BigTable、HBase;文档存储数据库,MongoDB;图形存储数据库(Graph-Oriented),Neo4J。第三,NewSQL数据库,VoltDB、RethinkDB、ScaleDB。
表6-2 NoSQL的类型

1.键值存储
Key-Value键值数据模型是NoSQL中最基本的、最重要的数据存储模型。基本原理是在Key和Value之间建立一个映射关系。Key-Value数据模型和传统关系数据模型相比有一个根本的区别,就是在Key-Value数据模型中没有模式的概念。在Key-Value模型中,只要制定好Key与Value之间的映射,当遇到一个Key值时,就可以根据映射关系找到与之对应的Value,其中Value的类型和取值范围等属性都是任意的。
2.列存储(www.chuimin.cn)
列存储是按列对数据进行存储的,在对数据进行查询的过程中非常有利,查询效率高。列存储可以将数据存储在列族中,存储在一个列族中的数据通常是经常被一起查询的相关数据。列存储的数据模型具有支持不完整的关系数据模型,适合规模巨大的海量数据,支持分布式并发数据处理等特点。总的来讲,列存储数据库的模式灵活、修改方便、可用性高、可扩展性强。
3.面向文档存储
面向文档存储是IBM最早提出的,是一种专门用来存储管理文档的数据库模型,是由一系列自包含的文档组成的。这意味着所有数据都存储在文档中,而不是表。在面向文档数据库中,文档被看作是数据处理的基本单位。文档可以很长也可以很短,可以复杂也可以简单,不必受到结构的约束。灵活、数据可共享是面向文档存储的特点。
4.图形存储
图形存储是将数据以图形的方式进行存储。在构造的图形中,实体被表示为结点,实体与实体之间的关系则被表示为边,对数据的查询就是对图的遍历。图形存储最突出的特点就是研究实体与实体间的关系,所以图形存储中有丰富的关系表示。
相关推荐