【数据库系统工程师】第9章 非关系型数据库NoSQL


思维导图

在这里插入图片描述

9.1 NoSQL概述

1.三高需求面前,NoSQL应运而生

○ 对数据库高并发读写的需求
○ 对海量数据的高效率存储和访问的需求
○ 对数据库的高可扩展性和高可用性的需求

9.2 相关理论基础

1.一致性

○ CAP理论
■ 简单地说,就是对于一个分布式系统,一致性(Consistency)、可用性( Availablity)和分区容忍性(Partition tolerance)三个特点最多只能三选二。
○ BASE理论
在这里插入图片描述

○ ACID和BASE对比
在这里插入图片描述

2.分区

○ 主要方法
■ 内存缓存
■ 集群
■ 读写分离
■ 范围分割技术/分片

3.存储分布

○ 行存储和列存储
○ 带有局部性群组的列存储
○ LSM-Tree (Log Structured Merge Trees, 日志结构合并树)

4.查询模型

○ 结合 SQL 数据库
在这里插入图片描述

○ 分散/集合本地搜索
在这里插入图片描述

○ 分布式B+树
在这里插入图片描述

○ 前缀哈希表/分布式Trie
在这里插入图片描述

9.3 NoSQL数据库的种类

1.分类与特点

在这里插入图片描述

2.文档存储

○ 文档数据库用语
在这里插入图片描述

○ 主流文档型数据库
在这里插入图片描述

○ 文档数据库MongoDB
■ 数据类型
在这里插入图片描述

在这里插入图片描述

■ 与传统数据库对比
在这里插入图片描述

○ 其他文档存储产品
■ BaseX
■ CouchDB
■ Lotus Notes

3.键值存储

○ 键值存储示例
在这里插入图片描述

○ 数据操作方式
■ gut、get、delete
○ 数据保存方式
■ 临时性保存类型
■ 永久性保存类型
■ 两者兼具型
○ 键值存储产品
■ Memcached
■ Redis
● 传统数据库与MongoDB、Redis对比
在这里插入图片描述

4.列存储

○ 行、列数据库比较
在这里插入图片描述

○ 列存储数据库
■ Bigtable
■ Hypertable
■ HBase
■ Cassandra

5.图存储

○ 图存储三个字段:节点、关系、属性
○ 与关系数据库的不同
在这里插入图片描述

○ 常见的图数据库
在这里插入图片描述

6.其他存储模式

○ 多值数据库
■ 常见的多值数据库有Rocket U2、Extensible Storage Engin (ESE/NT) 、OpenInsight 和OpenQM等。
○ 时间序列与流数据库
○ 网格和云数据库

9.4 NoSQL应用案例与新技术

1.HBase数据库

○ HBase数据逻辑结构
■ 行
■ 列
■ 单元格
■ 时间戳
○ HBase Shell的操作
在这里插入图片描述

2.云数据库GeminiDB

○ 系统架构
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u012069313/article/details/124753942