目录
第1章初识NoSQL1
1.1大数据时代给数据存储带来的挑战1
1.2NoSQL简介2
1.3NoSQL与传统关系数据库的区别3
1.4NoSQL基础理论4
1.4.1CAP理论4
1.4.2BASE理论5
1.5NoSQL分类6
1.5.1键值数据库6
1.5.2文档数据库7
1.5.3列式数据库8
1.5.4图数据库9
1.6本章小结10
1.7课后习题10
第2章文档数据库MongoDB12
2.1MongoDB概述12
2.2MongoDB的逻辑结构13
2.3MongoDB的数据类型15
2.4MongoDB的特点18
2.5MongoDB的读写流程19
2.6本章小结20
2.7课后习题20
第3章MongoDB基础操作22
3.1MongoDB部署22
3.1.1基于Windows操作系统部署22
3.1.2基于Linux操作系统部署24
3.2启动MongoDB服务27
3.3使用MongoDB Shell操作MongoDB34
3.3.1安装mongosh34
3.3.2启动mongosh36
3.3.3数据库操作38
3.3.4集合操作40
3.3.5文档操作: 插入文档45
3.3.6文档操作: 查询文档48
3.3.7文档操作: 更新文档60
3.3.8文档操作: 删除文档63
3.3.9聚合操作64
3.3.10索引操作79
3.3.11安全操作: 启用访问控制83
3.3.12安全操作: 用户管理85
3.4使用Java驱动程序操作MongoDB91
3.4.1搭建Java开发环境91
3.4.2基于Java驱动程序连接MongoDB94
3.4.3基于Java驱动程序操作数据库95
3.4.4基于Java驱动程序操作集合97
3.4.5基于Java驱动程序操作文档100
3.5使用Python驱动程序操作MongoDB108
3.6使用Compass操作MongoDB108
3.6.1基于Compass连接MongoDB109
3.6.2基于Compass操作数据库110
3.6.3基于Compass操作集合113
3.6.4基于Compass操作文档118
3.7本章小结141
3.8课后习题141
第4章MongoDB副本集142
4.1副本集概述142
4.2选举机制143
4.3部署副本集144
4.4初始化副本集148
4.5副本集操作151
4.5.1连接副本集151
4.5.2配置读取偏好153
4.5.3同步复制154
4.5.4故障转移155
4.5.5删除节点156
4.5.6添加节点157
4.5.7修改节点160
4.6访问控制165
4.7本章小结168
4.8课后习题168
第5章MongoDB分片集群170
5.1分片集群概述170
5.2分片策略172
5.3部署分片集群173
5.3.1环境准备173
5.3.2部署配置服务器175
5.3.3部署分片177
5.3.4部署路由180
5.3.5添加分片182
5.4分片集群操作184
5.5访问控制189
5.6本章小结192
5.7课后习题192
第6章MongoDB GridFS193
6.1GridFS概述193
6.2GridFS存储结构194
6.3GridFS基本操作195
6.3.1使用mongofiles操作GridFS195
6.3.2使用Java驱动程序操作GridFS203
6.3.3使用Python驱动程序操作GridFS209
6.4本章小结216
6.5课后习题217
第7章键值数据库Redis218
7.1Redis概述218
7.2Redis应用场景219
7.3Redis支持的数据类型220
7.4Redis的部署221
7.5使用rediscli操作Redis226
7.5.1使用rediscli操作字符串226
7.5.2使用rediscli操作列表233
7.5.3使用rediscli操作集合238
7.5.4使用rediscli操作散列241
7.5.5使用rediscli操作有序集合246
7.5.6使用rediscli操作键254
7.6使用Java客户端操作Redis260
7.7本章小结260
7.8课后习题260
第8章列式数据库HBase262
8.1HBase概述262
8.2HBase数据模型264
8.3HBase体系结构265
8.4HBase部署267
8.5使用HBase Shell操作HBase271
8.6使用Java客户端操作HBase281
8.7本章小结281
8.8课后习题281
第9章图数据库Neo4j283
9.1Neo4j概述283
9.2Neo4j的数据模型285
9.3Neo4j的部署286
9.3.1基于Windows操作系统286
9.3.2基于Linux操作系统291
9.4操作Neo4j292
9.4.1使用Cypher操作Neo4j292
9.4.2使用Java驱动程序操作Neo4j305
9.5本章小结305
9.6课后习题305
第10章综合案例——二手房交易数据分析系统307
10.1系统概述307
10.2部署Spark309
10.3模块开发: 导入数据309
10.4模块开发: 数据分析309
10.5模块开发: 数据可视化309
10.6本章小结309
