NoSQL数据库原理与应用
作者:王爱国,许桂秋主编
出版时间:2019年版
内容简介
本书由浅入深,系统全面地介绍了NoSQL数据库的理论、技术与开发实践方法。全书共9章,主要内容包括NoSQL产生的原因以及它与传统关系型数据库对比具有哪些优势、HBase分布式数据库技术及其核心技术原理与实践、MongoDB分布式数据库技术的原理和实践、Memcached和Redis技术、NewSQL数据库技术,以及HBase和MongoDB数据库技术的综合实验。本书适合作为高校NoSQL数据库技术的教材,也适合对NoSQL数据库技术感兴趣的读者阅读。
目录
第 1章 绪论 1
1.1 数据库系统 1
1.1.1 数据库系统的基本概念 1
1.1.2 关系型数据库 4
1.1.3 NoSQL的特点 6
1.2 分布式数据库的数据管理 7
1.2.1 分布式数据处理 8
1.2.2 CAP理论 9
1.3 ACID与BASE 10
1.3.1 ACID特性 10
1.3.2 BASE原理 11
1.3.3 最终一致性 11
1.4 NoSQL分类 12
小结 14
思考题 14
第 2章 认识HBase 15
2.1 HBase简介 15
2.1.1 HBase的发展历程 15
2.1.2 HBase的特性 16
2.1.3 HBase与Hadoop 18
2.2 HDFS原理 19
2.2.1 HDFS的基本架构 19
2.2.2 HDFS的分块机制和副本机制 21
2.2.3 HDFS的读写机制 22
2.2.4 HDFS的特点与使用场景 23
2.3 HBase的组件和功能 24
2.3.1 客户端 24
2.3.2 ZooKeeper 24
2.3.3 HMaster 25
2.3.4 RegionServer 26
2.4 HBase的使用场景及案例 26
2.4.1 搜索引擎应用 27
2.4.2 捕获增量数据 27
2.5 HBase 的安装与配置 29
2.5.1 准备工作 29
2.5.2 HBase安装与配置 29
小结 32
思考题 33
第3章 HBase数据模型与使用 34
3.1 HBase数据模型 34
3.1.1 HBase的基本概念 34
3.1.2 数据模型 35
3.2 HBase Shell基本操作 36
3.2.1 数据定义 36
3.2.2 数据操作 38
3.2.3 过滤器操作 41
3.3 HBase编程方法 45
3.3.1 基于Java的编程方法 46
3.3.2 基于Thrift协议的编程方法 50
3.3.3 基于MapReduce的分布式处理 52
小结 55
思考题 56
第4章HBase原理实现 57
4.1 HBase基本原理 57
4.1.1 Region定位 57
4.1.2 数据存储与读取 60
4.1.3 WAL机制 62
4.2 HBase Region管理 63
4.2.1 HFile合并 64
4.2.2 Region拆分 65
4.2.3 Region合并 66
4.2.4 Region负载均衡 66
4.3 HBase集群管理 67
4.3.1 运维管理 67
4.3.2 数据管理 68
4.3.3 故障处理 71
小结 75
思考题 75
第5章 MongoDB基础 76
5.1 概述 76
5.2 基本概念 78
5.2.1 文档数据模型 78
5.2.2 文档存储结构 79
5.2.3 数据类型 85
5.2.4 MongoDB的安装与测试 86
5.3 数据库与集合的基本操作 88
5.3.1 数据库操作 88
5.3.2 集合操作 90
5.4 文档的基本操作 91
5.4.1 文档的键定义规则 91
5.4.2 插入操作 92
5.4.2 更新操作 94
5.4.3 删除操作 95
5.3.4 查询操作 97
5.5 索引 100
5.5.1 索引简介 100
5.5.2 索引类型 101
5.5.3 索引操作 105
5.6 聚合 105
5.6.1 聚合管道方法 106
5.6.2 map-Reduce方法 107
小结 109
思考题 109
第6章 MongoDB进阶 110
6.1 集群架构 110
6.1.1 主从复制 110
6.1.2 副本集 111
6.1.3 分片 112
6.2 MongoDB分布式集群部署 113
6.2.1 分布式集群架构 113
6.2.2 部署副本集 114
6.2.3 部署分片集群 118
6.3 MongoDB编程方法 121
6.3.1 通过Java访问MongoDB 121
6.3.2 通过Python访问MongoDB 124
6.3.3 MongoDB的可视化工具robomongo 125
小结 127
思考题 127
第7章 其他非关系型数据库简介 128
7.1 内存数据库简介 128
7.1.1 Memcached简介 128
7.1.2 Redis简介 137
7.2 图数据库 139
7.2.1 Neo4j 139
7.2.2 Neo4j应用案例 147
小结 150
思考题 150
第8章 NewSQL数据库 151
8.1 TiDB数据库 151
8.1.1 TiDB架构 151
8.1.2 TiDB的存储原理 153
8.1.3 TiDB的管理机制 158
8.1.4 TiDB应用案例 160
8.2 OceanBase 161
8.2.1 OceanBase特性 161
8.2.2 OceanBase系统架构 162
小结 164
思考题 164
第9章 综合实验 165
9.1 MongoDB 165
9.1.1 获取和存储数据 165
9.1.2 分析数据 167
9.2 HBase 169
9.2.1 数据库的设计 169
9.2.2 实现 170
9.3 代码清单 173
9.3.1 MongoDB 173
9.3.2 HBase 178
参考文献 181