非关系型数据库有什么?为什么需要图数据库?

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PART 04
图形数据库 (Graph Database)
图形数据库
现在剩下的是最后一个NoSQL数据库存储类型,也是最复杂 的一个,主要使用一种高效的方式来存储各个实体之间的关 系。当数据之间是紧密联系的,例如社会关系、科学论文的 引文抑或是资本资产定价模型等等,使用图形数据库时最好 的选择。图形或者网络数据有两部分组成:
PART 02
键值对存储 (Key-Value Stores)
键值对存储
键值对的存储方式在 NoSQL数据库中是最简单 的一种,其结构就像其 名 字 所 示 , 是 一 个 keyvalue的集合。如图五所 示的那样。这种方式在 NoSQL数据库类型中是最 可扩展的一种类型,并 且可以存储大量的数据。
基于列的数据库
基于列的数据库会将每一列分开单独存放,当查找一个数量 较小的列的时候其查找速度是很快的。其结构如图四所示
基于列的数据库
这种设计看起来很像基于行的数据库在每一列上都加了索引 一样。数据库索引这种数据结构以牺牲存储空间和更多的写 文件(索引更新)为代价使查找速度得到提升。索引是将行 号映射到数据上,而基于列数据库是将数据映射到行号上面, 这样的方式用于计算是很简单的。例如上面的例子,查找有 多少人的爱好包含archery(箭术)是很容易计算出来的。 除此之外将每一列单独存放可以优化压缩因为每张表中只存 一类数据。
文档存储
文档存储是基于键值对存储的,其结构较之于键值对存储更 为复杂,可以说在键值对的基础上更深入了一步。文档存储 是假定一个特定文档的结构可以使用一种特定的模式来说明, 它的出现较之于其他的NoSQL数据库类型来说是最自然的, 因为设计这种方式的最初的目的就是用来存储日常文档的, 并且这种方式支持对于那些通常已经聚合的数据进行复杂的 查询和计算。使用关系型数据库存储数据的方式在标准化的 角度看是很有意义的:每条数据只被存储一次并且通过外键 来进行联系。文档存储不会去关心那些所谓的标准化,只要 数据在该结构下是有意义的就可以。所以说关系型数据库不 能很好的适应特定企业的案例,只能用来做那些比较通用的 案例。
NoSQL数据库入门
目前对于非关系型数据库主要有四种数据存储类型:键值对 存储(key-value),文档存储(document store),基于 列 的 数 据 库 ( column-oriented ) , 还 有 就 是 图 形 数 据 库 (graph database)。每一种都会解决相应的问题,这些问 题是关系型数据库所不能解决的。而在实际应用中都会将这 几种情况结合起来实现相应的功能。例如:OrientDB就是一 种 多 类 型 的 数 据 库 , 它 整 合 了 NoSQL 的 几 种 存 储 类 型 。 OrientDB是一个图形数据库其每个节点都是一个文本。
Node-:实体本身,在一个社会关系中可以认为是一个人。 Edge-:实体之间的关系。这个关系可以用一条线来表示, 这条线有它自己的属性。这条线可以有方向,箭头可以表明 谁是谁的上级。
图形数据库
非关系型数据库的潜力是无限的,当今世界关系正变得越来 越紧密,图形存储类型很可能会在地理上胜过其他的存储类 型数据库,包括现在仍然占绝对优势的关系型数据库。
图形数据库
如果给予足够的关系和实体类型,图形会变得非常的复杂, 其发杂程度简直难以置信。图八已经展示了仅有有限几个实 体的复杂图形。像Neo4j图形数据库声称支持ACID,然而文 档存储数据库和键值对数据库坚持BASE。
感谢欣赏
文档存储
报纸和杂志包含有文章,如果想在关系型数据库中存储这些 文章,首先你需要将这些文章给拆分开来,文章的内容在一 个表中,文章的作者以及关于作者的信息要存在另一张表中, 对于发布在网络上的文章的评论也需要额外的一张表来存储。 正如图七所展示的那样,报纸上的一篇文章可以被存储为一 个实例,这样在处理那些总是被查看的数据时可以减少查找 的 时 间 。 使 用 文 档 存 储 的 NoSQL 数 据 库 包 含 MongoDB 和 CouchDB。
键值对存储
键值对中存储的数据的类型 是不受限制的,可以是一个 字符串,也可以是一个数字, 甚至是由一系列的键值对封 装成的对象等。图六向我们 展示了一个比较复杂的键值 对结构。使用价值对存储的 数据库有Redis,Voldemort, Riak,和Amazon’s Dynamo。
PART 03
文档存储 (Document Stores)
NoSQL数据库入门
键值对存储
பைடு நூலகம்
文档存储
基于列的数据库
图数据库
PART 01
基于列的数据库 (column-oriented)
基于列的数据库
传统的关系型数据库时基于行(row-oriented)的,每一行 都带有一个行id并且行中的每一个字段都存储在一张表中。 假如说上面的例子中没有单独用一张表来存储人的爱好,我 们仅用一张表来存储个人信息和爱好,如图二所示。这里你 就需要注意了,这种请款下你已经有一点违反关系型数据库 严格遵循的标准化了,因为爱好是有重复的。如果爱好是描 述一个人很好的一条额外信息但是对你的用例没有什么重要 性,那你可以将其列在Hobbies这一列中,这是可以接受的 一种方法。但是如果这条信息对你根本不重要,那这些数据 还有没有必要存呢?
NoSQL数据库入门
非关系型数据库有什么?为什么需要图数据库?
NoSQL数据库入门
传统关系型数据库在当今 时代已经不能很好的适应 各行业庞大复杂的数据关 系,NoSQL非关系型数据库 应运而生,其中图数据库 更是成为非关系型数据库 的一匹黑马。数易轩致力 于图数据库技术服务,在 这里为大家介绍四种NoSQL 数据库的类型。
基于列的数据库
在基于行的数据库中进行查找的时候,每次都会对每一行进 行遍历,不管某一列数据是否是你需要的都会进行遍历。假 如你只需要生日是九月的人的数据,基于行的数据库会对这 张表从上到下从左至右遍历一遍,正像你在图三中看到的那 样,最后再返回你需要的那些数据。
基于列的数据库
对特定列的数据进行索引能有效的提高查找速度,但是索引 每一列同样会带来额外的负载,并且数据库同样也是会遍历 所有的列来取得要查找的数据。
相关文档
最新文档