Graph Databases—The NOSQL Phenomenon阅读笔记
本章内容着重对了NOSQL和RDBMS(关系型数据库管理系统)的不同,以及其各自背后设计时考虑的因素。然后接下来,着重讲述了NOSQL的4种分类方法。下面我们将对重要知识点进行汇总。
1、We define data complexity in terms of these three forces: data size, connectedness and semi-structure.
数据复杂性通常可以通过如下三个方面来衡量:数据大小,数据紧密程度以及半结构化。这句话,说白了就是数据本身的大小,数据和数据之间是否有联系并且联系是否密切,数据是否是结构的或者半结构的或者无结构的,构成了数据复杂性的三个方面。
2、Recent years have seen a meteoric rise in popularity of a family of data storage technologies known as NOSQL (a cheeky acronym for Not Only SQL, or more confrontationally, No to SQL).
最近几年,NOSQL数据存储技术很为流行,一般别名是"Not Only SQL"(不单单是SQL),或者"No to SQL"(不是SQL)。从两个别名可以推断出,NOSQL不同于SQL,SQL是关系型数据库中典型的语言,NOSQL是随着技术或者日常需求逐渐发展而来的一种存储技术。
3、NOSQL兴起的3个重要因素
1)Volume: the size of the stored data
2)Velocity: the rate at which data changes over time
3)Variety: the degree to which data is regularly or irregularly structured, dense or sparse, and importantly connected or disconnected.
第一个因素是:存储的数据量大小,众所周知,目前大数据是很火的,也反映了目前数据量很大,传统的关系型数据库在性能上很难保证的很好。第二个因素是:变化的速度,以前的数据一般是静态的,所以关系型数据库表现的很好,但是随着这几年互联网行业的兴起,数据本身变化速度极快。第三个因素是:数据的种类,现在的数据多种多样,有一些是有结构的,有一些是无结构的,有一些是互有联系的。上述三点导致NOSQL的兴起。
4、In the relational database world, we’re all familiar with ACID transactions:
• Atomic: All operations in a transaction succeed or every operation is rolled back.
• Consistent: On transaction completion, the database is structurally sound.
• Isolated: Transactions do not contend with one another, contentious access to state is moderated by the database so that transactions appear to run sequentially.
• Durable: The results of applying a transaction are permanent, even in the presence of failures.
关系型数据库设计考虑的4个重要因素。Atomic是“原子性”,要不然操作成功,要不然操作进行全部回滚。Consistent是“一致性”,数据库事务完成后,数据库结构仍然和以前是一样的,结构不会变化。Isolated是“隔离性”,事务和事务之间是隔离的,不存在竞争关系。Durable是“持久性”,一旦事务成功后,结果就是永久性的。
5、Instead of using ACID, the term BASE has arisen as a popular way of describing the properties of a more optimistic storage strategy.
• Basic Availability: The store appears to work most of the time.
• Soft-state: Stores don’t have to be write-consistent, nor do different replicas have to be mutually consistent all the time.
• Eventual consistency: Stores exhibit consistency at some later point (e.g. lazily at read time).
BASE不同于ACID设计策略,是目前NOSQL设计时遵循的一些原则。其中,Basic Availability是“基本可行行”,系统大部分时间时可以运行的,这条说明存储系统允许错误发生或者硬件出现故障等。Soft-state是“软约束”,存储系统不必保存写一致性,也不必不同的备份之间是互相一致的。Eventual consistency是“最终一致性”,存储系统在后来的某点上,呈现一致性。
6、NOSQL可以分为四类:key-value, document, graph db以及bigtable,如下图所示,
7、Document存储系统
文档存储系统是以文档为基本单位,一般文档都会有一个ID,同时会从文档中提取出一些特征来代表文档,MongoDB就是一种文档存储系统。如下图所示:
8、Key-Value存储系统
They act like (large, distributed) hashmap data structures where (usually) opaque values are stored and retrieved by key.
Key-Value存储系统类似于哈希map一样。通过key去查找value的值,key相当于索引。
一个典型的分布式Key-Value系统如下:
9、BigTable存储系统
BigTable存储系统类似于矩阵,由行和列组成,每一个单元存放数据。一般而言,BigTable由如下4种成分组成:
10、Key-Value、Document以及BigTable存储系统很难解决互有联系的数据。
==================================小结============================================
第二章着重讲述了NOSQL的设计原则以及分类,同时需要知道Key-Value、Document以及BigTable三个存储系统都很难解决互有联系的数据。本章是为了引出Graph DB做铺垫。
Graph Databases—The NOSQL Phenomenon阅读笔记的更多相关文章
- Deep Learning of Graph Matching 阅读笔记
Deep Learning of Graph Matching 阅读笔记 CVPR2018的一篇文章,主要提出了一种利用深度神经网络实现端到端图匹配(Graph Matching)的方法. 该篇文章理 ...
- 《Graph Neural Networks: A Review of Methods and Applications》阅读笔记
本文是对文献 <Graph Neural Networks: A Review of Methods and Applications> 的内容总结,详细内容请参照原文. 引言 大量的学习 ...
- [论文阅读笔记] GEMSEC,Graph Embedding with Self Clustering
[论文阅读笔记] GEMSEC: Graph Embedding with Self Clustering 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 已经有一些工作在使用学习 ...
- [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings
[论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 本文结构 解决问题 主要贡献 算法原理 参考文 ...
- [开发笔记] Graph Databases on developing
TimeWall is a graph databases github It be used to apply mathematic model and social network with gr ...
- 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification
论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...
- Mongodb Manual阅读笔记:CH9 Sharding
9.分片(Sharding) Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb ...
- Mongodb Manual阅读笔记:CH3 数据模型(Data Models)
3数据模型(Data Models) Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mon ...
- 《深入实践Spring Boot》阅读笔记之三:核心技术源代码分析
刚关注的朋友,可以回顾前两篇文章: 基础应用开发 分布式应用开发 上篇文章总结了<深入实践Spring Boot>的第二部分,本篇文章总结第三部分,也是最后一部分.这部分主要讲解核心技术的 ...
随机推荐
- css实现鼠标移上去变大,旋转,转别人的额
<!doctype html><html><head> <meta charset="utf-8"> <title>CS ...
- Asp.net中用户自定义控件 ascx的使用
使用ascx目的就是为了提高某部分功能的重复利用,我简单通过源代码说一下对它的参数的输入和数出. 我们以省市区三级连动为例子. vs2005下ascx页面的代码: <table width=&q ...
- H1标签使用的七大注意事项
H1标签使用的七大注意事项: 1 每个页面都应该有H1标签,H1标签是每个网页不可缺少的要素. 2 使用H1标签的内容应该简洁明了; 3 H1标签要尽量出现在源文件代码的开头的部分,这样可以让访问者和 ...
- javascript基础之javascript的存在形式和js代码块在页面中的存放位置
1.存在形式 文件 如: <script src='js/jc.js'></script> 前页面 <script type='text/javascript'>a ...
- Ecstore中Mootools和Jquery如何同时存在,解决冲突?
- 利用CSS实现居中对齐
1. 文本居中 首先编写一个简单的html代码,设置一个类名为parentDiv的div对象.html代码如下: <div class="parentDiv"> 这里随 ...
- 分享内容到微博、QQ空间、人人网、开心网等社区
网上有不少分享内容到微博.QQ空间.人人网.开心网等社区的插件,但它们都有自己固定的样式,你不一定会喜欢. 或许你想保持你的网站的原状,添加上微博.QQ空间.人人网.开心网的LOGO图片,点击之后就可 ...
- SQL查询表字段、字段说明、类型、长度、主键
SELECT 表名=d.name,case when a.colorder=1 then d.name else '' end, 字段序号=a.colorder, 字段名=a.name, 标识=ca ...
- 控件真的很好用,突然感觉自己以前研究Discuz!NT366源码的方式很2了
控件真的很好用,突然感觉自己以前研究Discuz!NT366源码的方式很2了,就是按钮上的或其他控件上的图片哪里去了?
- mysql innodb myisam 主要区别与更改方法
一.主要区别 1.事务处理 innodb 支持事务功能,myisam 不支持. Myisam 的执行速度更快,性能更好. 2.select ,update ,insert ,delete 操作 ...