目录
思维导图
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
○ 系统架构