第 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