NoSQL进阶实战 2,NoSQL数据存储模式

目录

    • 一、NoSQL的数据存储模式
    • 二、键值数据存储结构
      • 1、什么是键值数据库
      • 2、键值数据库的优缺点
    • 三、文档数据存储模式
    • 四、列族存储实现
      • 1、列族数据库存储结构基本要素
      • 2、列族的存储特点
    • 五、图数据存储模式
      • 1、图数据库存储结构基本要素
      • 2、处理各种图结构的数据
      • 3、应用领域广泛

一、NoSQL的数据存储模式

  1. 键值
  2. 文档
  3. 列族

二、键值数据存储结构

1、什么是键值数据库

键值数据库Key-Value Database是一类轻量级结合内存处理为主的NoSQL数据库。

键值数据库放弃了传统关系型数据库的数据结构设计模式,转而采用速度更快的内存或SSD为数据运行存储方式,提升数据的执行效率。

键值数据库主要运行在内存,实现定期向硬盘读写数据的策略。

2、键值数据库的优缺点

(1)优点

  1. 简单
  2. 快速
  3. 高效计算
  4. 分布式处理

(2)缺点

  1. 对值进行多值查找功能很弱
  2. 缺少约束,更容易出错

三、文档数据存储模式

文档数据库与传统数据库一样,也是建立在对磁盘读写的基础上,对数据进行各种操作。文档数据库的设计思路是针对传统数据库低效的操作性能,首先考虑的是读写性能,为此需要去掉各种传统数据库规则的约束。
NoSQL进阶实战 2,NoSQL数据存储模式_第1张图片
文档数据库也是键值对形式的存储,值是一个大的字段,类似于JSON、XML、数组等。

{
	"id":"1",
	"name":"哪吒编程",
	"desc":"定期更新Java技术文章"
}

四、列族存储实现

列族数据库是为处理大数据而生的,相对于传统数据库的弱点,列族存储采用了去规则、去约束化的思路。

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

(1)命名空间

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

(2)行键

行键用来唯一确定列族数据库中不同行数据区别的标识符。它的作用与传统关系型数据库的行主键作用类似。但是列族数据库的行是虚的,只存在逻辑关系,因为它们的值以列为单位进行存储。而传统的关系型数据库的行是一条连续而紧密的记录。另外行键还起分区和排序的作用。放列族的列存放于不同服务器的分区时,则行键七分区地址指向的标识作用。列族数据库存放数据时,自动按照行键进行排序。

(3)列族

由若干个列所构成的一个集合称为列族。对于关系紧密的列可以放到一个列族里,谜底是提高查询速度。

(4)列

列是列族数据库里用来存放单个数值的数据结构。列的每个值都附带时间戳,通过时间戳来区分值的不同版本。

2、列族的存储特点

擅长大数据处理,对于命名空间、行键、列族需要预先定义,列无需预先定义,随时可以增加。

五、图数据存储模式

1、图数据库存储结构基本要素

  1. 节点
  2. 属性

2、处理各种图结构的数据

比如无向图、有向图、二分图、流动网络图、多重图、加权图、树等。

3、应用领域广泛

可以以图的形式表示关系的数据,比如基于地图的交通运输、游戏开发、复杂的人际关系图、规则推理等。

图存储数据本身很简单,主要通过节点与节点产生的关系,进行深入查找、统计、分析,以发现有价值的数据规律。

比如:

  1. 计算两节点之间的最短路径;
  2. 两节点之间哪条路径派送成本最小;
  3. 两节点之间哪条路线派送速度最快;
  4. 哪个节点的邻节点最多,意味着是否可以在此处建立中转仓库;
  5. 哪个节点是薄弱节点,一旦这个节点出现问题,是否会对整体运营产生严重的影响;

你可能感兴趣的:(java,nosql)