第1章 绪论 1
1.1 数据库系统 1
1.1.1 数据库系统的基本概念 2
1.1.2 关系型数据库 5
1.1.3 NoSQL数据库的特点 8
1.2 分布式数据库的数据管理 9
1.2.1 分布式数据处理 9
1.2.2 CAP理论 11
1.3 ACID与BASE 12
1.3.1 ACID特性 12
1.3.2 BASE原理 13
1.3.3 最终一致性 14
1.4 NoSQL数据库分类 15
小结 17
思考题 17
第2章 认识HBase 18
2.1 HBase简介 18
2.1.1 HBase的发展历程 19
2.1.2 HBase的特性 20
2.1.3 HBase与Hadoop 22
2.2 HDFS原理 23
2.2.1 HDFS的基本架构 23
2.2.2 HDFS的分块机制和副本机制 25
2.2.3 HDFS的读写机制 26
2.2.4 HDFS的特点与使用场景 28
2.3 HBase的组件和功能 29
2.3.1 客户端 29
2.3.2 ZooKeeper 30
2.3.3 HMaster 31
2.3.4 RegionServer 32
2.4 HBase的使用场景及案例 32
2.4.1 搜索引擎应用 33
2.4.2 捕获增量数据 33
2.5 HBase的安装与配置 35
2.5.1 准备工作 35
2.5.2 HBase的安装与配置 36
小结 39
思考题 40
第3章 HBase数据模型与使用 41
3.1 HBase数据模型 41
3.1.1 HBase的基本概念 41
3.1.2 数据模型 42
3.2 HBase Shell基本操作 43
3.2.1 数据定义 44
3.2.2 数据操作 46
3.2.3 过滤器操作 49
3.3 HBase编程方法 54
3.3.1 基于Java的编程方法 54
3.3.2 基于Thrift协议的编程方法 58
3.3.3 基于MapReduce的分布式处理 61
小结 64
思考题 64
第4章 HBase原理实现 66
4.1 HBase基本原理 66
4.1.1 Region定位 66
4.1.2 数据存储与读取 69
4.1.3 WAL机制 72
4.2 HBase Region管理 73
4.2.1 HFile合并 73
4.2.2 Region拆分 75
4.2.3 Region合并 76
4.2.4 Region负载均衡 76
4.3 HBase集群管理 77
4.3.1 运维管理 78
4.3.2 数据管理 79
4.3.3 故障处理 82
小结 86
思考题 86
第5章 MongoDB基础 87
5.1 概述 87
5.2 基本概念 89
5.2.1 文档数据模型 90
5.2.2 文档存储结构 91
5.2.3 数据类型 97
5.2.4 MongoDB的安装与测试 98
5.3 数据库与集合的基本操作 100
5.3.1 数据库操作 101
5.3.2 集合操作 103
5.4 文档的基本操作 104
5.4.1 文档的键定义规则 104
5.4.2 插入操作 105
5.4.3 更新操作 107
5.4.4 删除操作 109
5.4.5 查询操作 111
5.5 索引 114
5.5.1 索引简介 114
5.5.2 索引类型 115
5.5.3 索引操作 119
5.6 聚合 120
5.6.1 聚合管道方法 120
5.6.2 map-reduce方法 122
小结 124
思考题 124
第6章 MongoDB进阶 125
6.1 集群架构 125
6.1.1 主从复制 126
6.1.2 副本集 126
6.1.3 分片 127
6.2 MongoDB分布式集群部署 129
6.2.1 分布式集群架构 129
6.2.2 部署副本集 130
6.2.3 部署分片集群 134
6.3 MongoDB编程方法 137
6.3.1 通过Java访问MongoDB 138
6.3.2 通过Python访问MongoDB 141
6.3.3 MongoDB的可视化工具Robomongo 143
小结 144
思考题 144
第7章 其他非关系型数据库简介 146
7.1 内存数据库简介 146
7.1.1 Memcached简介 146
7.1.2 Redis简介 155
7.2 图形数据库 158
7.2.1 Neo4j 159
7.2.2 Neo4j应用案例 164
小结 167
思考题 167
第8章 NewSQL数据库 168
8.1 TiDB数据库 168
8.1.1 TiDB架构 169
8.1.2 TiDB的存储原理 170
8.1.3 TiDB的管理机制 176
8.1.4 TiDB应用案例 178
8.2 OceanBase 179
8.2.1 OceanBase特性 180
8.2.2 OceanBase系统架构 181
小结 183
思考题 183
第9章 综合实验 184
9.1 MongoDB实验 184
9.1.1 获取和存储数据 184
9.1.2 分析数据 187
9.2 HBase实验 189
9.2.1 数据库的设计 189
9.2.2 实现 190
9.3 代码清单 193
9.3.1 MongoDB实验代码清单 193
9.3.2 HBase实验代码清单 198
参考文献 201