NoSQL数据库类型
大小:0.6 MB 人气: 2017-10-12 需要积分:1
标签:
有四大NoSQL类型:键值存储(key-value store),文件存储(document store),列导向的数据库(Column-Oriented Database)和图形数据库(graph database)。每种类型都解决了传统关系数据库无法解决的问题。实际的实现往往是这些组合的组合。例如,结合NoSQL类型,Orientdb是一个多模式的数据库。Orientdb是图形数据库,每个节点都是一个文档。在进入不同的NoSQL数据库之前,让我们看看与关系数据库之间的比较。传统关系数据库正在努力的走向规范化:确保每一个数据都只存储一次。正规化标志着他们的结构设置。举个例子来说,如果你想把一个人和他的爱好存储为数据,那么你就可以建两个表:一个表存储为人,一个表存储他们的爱好。如图1所示,一个附加的表是必要的,因为他们存在着很多关系:一个人可以有多个爱好,然而一个爱好也可以有很多人喜欢。
图1
一个全面的关系数据库可以由许多实体和联系表。现在让我们看看NoSQL不同的类型的数据库之间的比较。
Column databases store列存储数据库
行数据库实际上就是传统的关系数据库,每一行有一行id,并在一个表中存储的行中的每个字段。假设,关于爱好,没有额外的表来存储并且你只有一个表来描述人,如图2所示。注意,在这种情况下,你有轻微的反规范化,因为爱好是可以重复的。如果爱好这个信息是一个额外的信息,但在你使用时并不是必不可少的,添加它作为一个列表内的爱好列是可以接受的方法。但是如果这些信息对一个单独的表来说是不够的,它应该被存储在所有的?
图2
每次你在行存据库中寻找某个数据,进行每行扫描,不管你需要哪列。假设你只需要生日在9月的列表。数据库将在表中从上到下和从左到右扫描所有数据,如图3所示,最终返回生日列表。
非常好我支持^.^
(0) 0%
不好我反对
(0) 0%