第1章 NoSQL数据库概述 1
1.1 什么是NoSQL? 2
1.2 NoSQL的分类与特点 4
1.3 CAP定理 8
1.4 ACID与BASE 10
1.5 最终一致性技术基础 11
1.5.1 一致性问题 11
1.5.2 Quorum的NWR策略 11
1.5.3 Paxos算法简介 12
1.5.4 Raft算法简介 13
1.5.5 向量时钟机制 16
1.6 数据复制与分片 18
1.7 NoSQL数据库与云计算 18
1.8 NoSQL数据库与物联网 19
1.9 NoSQL数据库与区块链 20
1.10 本章小结 21
1.11 思考与练习题 21
本章参考文献 22
第2章 图数据库技术 23
2.1 概述 24
2.2 图关键数据存储逻辑架构 25
2.3 属性图模型 28
2.4 图数据库查询语言 31
2.4.1 Cypher基础 31
2.4.2 Gremlin 36
2.5 图数据库的应用 38
2.6 本章小结 39
2.7 思考与练习题 40
本章参考文献 41
第3章 Neo4j图数据库 42
3.1 Neo4j DB基础 43
3.1.1 下载与安装 43
3.1.2 数据类型 47
3.2 Neo4j数据操作基础 48
3.2.1 节点操作 48
3.2.2 关系操作 55
3.2.3 排序与聚合操作 62
3.2.4 路径操作 65
3.2.5 索引操作 68
3.2.6 约束操作 70
3.2.7 存储过程调用 71
3.3 Neo4j集群技术 73
3.3.1 因果集群 73
3.3.2 高可用性集群 76
3.4 Neo4j管理与监控 78
3.4.1 图数据导入 78
3.4.2 图数据备份与恢复 81
3.4.3 事务管理 82
3.4.4 监控与日志 84
3.5 本章小结 85
3.6 思考与练习题 86
本章参考文献 87
第4章 文档数据库技术 89
4.1 概述 89
4.2 文档数据库存储架构 92
4.2.1 JSON与BSON 92
4.2.2 MongoDB数据存储 93
4.2.3 MongoDB文档唯一性机制 95
4.3 文档数据库管理基础 95
4.3.1 数据库操作 95
4.3.2 集合操作 96
4.3.3 文档操作 97
4.4 文档数据库的应用 98
4.5 本章小结 99
4.6 思考与练习题 100
本章参考文献 101
第5章 MongoDB文档数据库 102
5.1 MongoDB基础 103
5.1.1 下载与安装 103
5.1.2 数据类型 106
5.1.3 常用操作符 107
5.2 MongoDB文档操作基础 108
5.2.1 文档CRUD操作 108
5.2.2 文档链接引用 115
5.2.3 文档聚合与管道操作 116
5.2.4 MongoDB索引机制 118
5.3 MongoDB数据库架构 125
5.3.1 分片机制与集群架构 125
5.3.2 数据冗余复制集 127
5.3.3 分布式文件存储 129
5.3.4 Journaling日志功能 130
5.4 MongoDB管理与监控 131
5.4.1 文档数据导入与导出 131
5.4.2 文档数据备份与恢复 131
5.4.3 多文档事务管理 132
5.4.4 数据库监控 133
5.5 本章小结 133
5.6 思考与练习题 134
本章参考文献 134
第6章 键值类数据库技术 135
6.1 概述 135
6.2 键值数据存储逻辑架构 137
6.3 键值数据库管理基础 141
6.3.1 持久化管理 141
6.3.2 分区机制 142
6.3.3 集群监控 143
6.4 键值数据库的应用 144
6.5 本章小结 145
6.6 思考与练习题 146
本章参考文献 146
第7章 Redis键值数据库 147
7.1 Redis DB基础 147
7.1.1 下载与安装 147
7.1.2 操作命令的分类 149
7.2 Redis键值管理操作 150
7.2.1 Key操作 150
7.2.2 字符串 151
7.2.3 列表 153
7.2.4 集合 154
7.2.5 散列 155
7.2.6 有序集合 157
7.2.7 发布与订阅 158
7.3 Redis集群架构及管理 160
7.4 Redis管理与监控 161
7.4.1 Redis数据库配置管理 161
7.4.2 Redis数据备份与恢复 163
7.4.3 Redis命令批量执行 164
7.4.4 Redis图形化管理工具 165
7.5 本章小结 167
7.6 思考与练习题 167
本章参考文献 168
第8章 列族数据库技术 169
8.1 概述 169
8.2 列族数据存储逻辑架构 171
8.3 列族数据库集群架构 175
8.3.1 Cassandra对等式集群架构 175
8.3.2 Cassandra分区策略 177
8.3.3 持久化管理 178
8.4 列族数据库的应用 178
8.5 本章小结 179
8.6 思考与练习题 179
本章参考文献 180
第9章 Cassandra列族数据库 181
9.1 Cassandra DB基础 182
9.1.1 下载与安装 182
9.1.2 数据类型 184
9.1.3 CQL简介 187
9.2 CQL数据管理操作 189
9.2.1 键空间操作 189
9.2.2 数据表操作 190
9.2.3 数据CRUD操作 193
9.2.4 索引操作 196
9.2.5 函数支持 197
9.3 Cassandra集群管理 199
9.3.1 读写一致性管理 199
9.3.2 节点状态管理机制 200
9.3.3 节点增删管理 201
9.4 Cassandra数据库管理 202
9.4.1 数据库配置管理 202
9.4.2 批量导入与导出 203
9.4.3 备份与恢复 205
9.5 本章小结 206
9.6 思考与练习题 206
本章参考文献 207
第10章 NoSQL数据库访问技术 208
10.1 概述 208
10.2 基于Python访问Ne04j 210
10.3 基于Python访问MongoDB 211
10.4 基于Python访问Redis 212
10.5 基于Python访问Cassandra 213
10.6 本章小结 214
10.7 思考与练习题 214
本章参考文献 214
第11章 其他类型的NoSQL数据库 216
11.1 概述 217
11.1.1 时序数据库 217
11.1.2 RDF数据库 217
11.1.3 搜索引擎 219
11.2 InfluxDB时序数据库简介 219
11.3 Apache Jena-TDB简介 220
11.4 Elasticsearch简介 221
11.5 本章小结 222
11.6 思考与练习题 222
本章参考文献 223
第12章 区块链数据存储技术 224
12.1 概述 224
12.2 区块链数据存储技术 226
12.3 区块链技术的应用 227
12.4 本章小结 228
12.5 思考与练习 228
本章参考文献 228