Nosql的存储模式

  • Post author:
  • Post category:其他


主要类别:

键值数据存储模式

文档数据存储模式

列族数据存储模式

图数据存储模式

其他数据存储模式

尤其键值存储模式是Redis 数据库的基础;文档存储模式是MongoDB数据库的基础。

数据库的主要功能是存储和处理数据,由此NOSQL也不列外

一、键值数据存储模式(Redis)

键值数据库(Key Value Database)是一类轻量级结合内存处理为主的NOSQL数据库。说它轻量级,指的是它的存储数据结构特别简单,数据库系统本身规模也比较小;说它以内存为主的运行处理,设计目的是为了更快地实现对大数据的处理。(数据存储结构最简单的一类NOSQL数据库)

在这里插入图片描述

(1)键(Key)

键起唯一索引值的作用,确保一个键值结构里数据记录的唯一性,同时也起信息记录的作用。

(2)值(Value)

值是对应键相关的数据,通过键来获取,可以存放任何类型的数据。

键值数据库的值由BLOB(Binary Large object,二进制大对象)进行存储,这意味着任何类型的数据都可以保存,键值数据库无预先定义数据类型的要求。而预先定义存储数据类型在传统关系数据库里是强制要求的。

(3)键值对(Key-Value Pair)

键和值的组合就形成了键值对,它们之间的关系是一对一映射的关系。

(4)命名空间Namespace桶(Bucket)

命名空间是由键值对所构成的集合。通常由一类键值对数据构成一个集合

NOSQL的键值数据库有了数据存储结构及对应的数据,就需要考虑对数据的基本读、写、删除操作要求。这跟传统数据库里的Select、Insert、Update、Delete是一个道理。但是NOSQL数据库没有SQL概念,它们对数据操作的实现是通过Put、Get和Delete实现的。

在这里插入图片描述

1、键值存储设计优点:

①简单

②快速

③高效计算

2、缺点:

①对值进行多值查找功能很弱

②缺少约束,意味着更容易出错

③不容易建立复杂关系

二、文档数据存储模式(MongoDB)

文档数据库与传统关系数据库一样,主流的也是建立在对磁盘的读写的基础上,对数据进行各种操作。

文档数据库的设计思路是针对传统数据库低效的操作性能,首先考虑的是读写性能,为此需要去掉各种传统数据库规则的约束。

TRDB与文档数据存储模式的区别:

TRDB:设计目标,追求ACID严格约束

1.严格的表结构预定义。

2.严格的写入检查。

3.严格的多表关系约束

文档数据存储模式:设计目标,追求大数据环境下,数据操作性能的最大化

1.无需数据存储结构预定义

2.数据库无严格是写入检查

3.多存储结构无严格的关系约束

在这里插入图片描述

注:一条文档记录,内含若干个成对的键值对。该数据格式叫JSON

文档数据库存储结构基本要素:

在这里插入图片描述

注:在MongoDB数据库里将得到完整体现

基本数据操作方式:

在这里插入图片描述

注:非常类似SQL语句,非常简单

1、文档存储的优点

①简单

②相对高效

③文档格式处理

④查询功能强大

⑤分布式处理

2、文档存储的缺点

①缺少约束

②数据出现冗余

③相对低效

三、列族数据库(Hbase)

列族数据库为了解决大数据存储问题,引入了分布式处理技术,为了提高数据操作效率,针对传统数据库的弱点,采用了去规则去约束化的思路。

1、列族数据库实现基本原理

在这里插入图片描述

2、列族数据库存储结构基本要素

命名空间(NameSpace)

命名空间是列族数据库的顶级数据库结构。相当于传统关系型数据库的表名。

行键(Row Key)

行键用来唯一确定列族数据库中不同行数据区别的标识符。

列族(Column Family)

由若干个列所构成的一个集合叫列族。

列(Column)

列是列族数据库里用来存放单个数值的数据结构。

列的每个值(Value)都附带时间戳(Time Stamp)。通过时间戳来区分值的不同版本。

四、图数据存储模式

这里的”图”是指数学里的”图论(Graph Theory)”

在这里插入图片描述

节点(Node)代表一个个事物实体,如上述的各个城市名称;

边(Edge)就是连接各个城市之间的铁路,表明实体之间的关系;

所谓无向,指铁路是可以双向通行的,不受方向限制,相关的边就是无向边(Undirected Edge);相对无向边,就是有向边(Directed Edge),

节点、边,都可以附加属性(Attribute)。

图存储是一个包含若干个节点、节点之间存在边关系,节点和边可以附加相关属性的结合系统,简称图(Graph)。



版权声明:本文为weixin_44703894原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。