大数据技术与应用丛书 NoSQL数据库技术与应用
作者:黑马程序员 编著
出版时间: 2020年版
内容简介
本书围绕NoSQL数据库技术与应用进行详细讲解,全书共10章,第1章简单介绍NoSQL数据库;第2章讲解文档存储数据库MongoDB;第3章讲解MongoDB数据库的操作;第4章讲解MongoDB副本集相关的知识;第5章讲解MongoDB分片相关的知识;第6章讲解MongoDB存储大文件系统GridFS相关的知识;第7章讲解键值对存储数据库Redis的相关知识;第8章讲解列族存储数据库HBase的相关知识;第9章讲解图形存储数据库Neo4j相关的知识;第10章讲解一个综合案例。本书适合作为高等院校计算机相关专业的教材,也可作为广大编程爱好者的实践图书。
目录
第1章初识NoSQL1
1.1大数据时代对数据存储的挑战1
1.2认识NoSQL2
1.2.1NoSQL简介2
1.2.2NoSQL特点2
1.2.3关系数据库与非关系数据库
的区别3
1.3NoSQL基础理论5
1.3.1CAP原则5
1.3.2BASE理论6
1.3.3终一致性7
1.4NoSQL数据库分类8
1.4.1键值对存储数据库8
1.4.2文档存储数据库9
1.4.3列式存储数据库9
1.4.4图形存储数据库10
1.4.5NoSQL数据库的比较10
1.5本章小结11
1.6课后习题11
第2章文档存储数据库MongoDB13
2.1MongoDB概述13
2.1.1MongoDB的发展历程13
2.1.2MongoDB的简介14
2.1.3MongoDB的优势14
2.2MongoDB体系结构15
2.3MongoDB数据类型17
2.4MongoDB的使用规范21
2.5本章小结23
2.6课后习题23目录NoSQL数据库技术与应用第3章MongoDB数据库操作24
3.1MongoDB部署24
3.1.1基于Windows平台24
3.1.2基于Linux平台29
3.2数据库操作38
3.2.1新建数据库38
3.2.2查看数据库39
3.2.3删除数据库39
3.3集合操作40
3.3.1创建集合40
3.3.2删除集合40
3.4文档的插入、更新与删除操作41
3.4.1文档插入41
3.4.2文档更新43
3.4.3文档删除44
3.5文档简单查询45
3.5.1查询所有文档46
3.5.2按条件查询文档47
3.5.3按特定类型查询文档52
3.6聚合操作53
3.6.1聚合管道操作54
3.6.2MapReduce操作61
3.7使用索引优化查询63
3.7.1索引概述63
3.7.2索引操作66
3.8使用Java操作MongoDB71
3.8.1搭建Java环境71
3.8.2基于Java API操作MongoDB73
3.9使用Python操作MongoDB85
3.9.1搭建Python环境85
3.9.2基于Python API操作MongoDB86
3.10使用Robo 3T操作MongoDB95
3.10.1Robo 3T工具的下载安装96
3.10.2基于Robo 3T操作MongoDB96
3.11安全与访问控制104
3.11.1用户访问控制105
3.11.2用户管理操作109
3.12本章小结113
3.13课后习题113
第4章MongoDB副本集115
4.1副本集概述115
4.2副本集成员116
4.3部署副本集117
4.3.1环境准备117
4.3.2副本集的安装与启动119
4.3.3副本集的初始化121
4.4副本集操作124
4.4.1查看副本集成员状态124
4.4.2同步副本文档127
4.4.3故障转移129
4.4.4配置副本集成员130
4.4.5安全认证135
4.5副本集机制140
4.5.1同步机制140
4.5.2选举机制140
4.5.3心跳检测机制141
4.6本章小结141
4.7课后习题141
第5章MongoDB分片143
5.1分片概述143
5.2分片策略144
5.3分片集群架构145
5.4部署分片集群147
5.4.1环境准备147
5.4.2部署MongoDB149
5.4.3部署Config Server151
5.4.4部署Shard154
5.4.5部署mongos161
5.4.6启动分片功能163
5.5分片的基本操作165
5.6本章小结177
5.7课后习题177
第6章MongoDB GridFS179
6.1GridFS概述179
6.2GridFS存储结构180
6.3GridFS基本操作181
6.3.1使用Shell操作MongoDB GridFS181
6.3.2使用Java操作MongoDB GridFS189
6.3.3使用Python操作MongoDB GridFS198
6.4本章小结203
6.5课后习题203
第7章键值对存储数据库Redis205
7.1Redis概述205
7.1.1Redis简介205
7.1.2Redis特点206
7.1.3Redis应用场景206
7.2Redis支持的数据结构207
7.3Redis部署210
7.3.1基于Windows平台210
7.3.2基于Linux平台213
7.4使用rediscli操作Redis220
7.4.1操作键220
7.4.2操作字符串226
7.4.3操作列表230
7.4.4操作集合235
7.4.5操作散列237
7.4.6操作有序集合241
7.5使用Java操作Redis244
7.5.1环境搭建244
7.5.2操作键246
7.5.3操作字符串252
7.5.4操作列表255
7.5.5操作集合259
7.5.6操作散列263
7.5.7操作有序集合267
7.6本章小结271
7.7课后习题271
第8章列式存储数据库HBase273
8.1HBase概述273
8.2HBase的数据模型275
8.3HBase的架构276
8.4HBase的部署277
8.5HBase的操作281
8.5.1HBase的Shell操作281
8.5.2HBase的Java API操作288
8.6本章小结296
8.7课后习题296
第9章图形存储数据库Neo4j298
9.1Neo4j概述298
9.1.1Neo4j简介298
9.1.2Neo4j特点298
9.1.3Neo4j应用场景299
9.2Neo4j的数据模型300
9.3Neo4j的部署302
9.3.1基于Windows平台302
9.3.2基于Linux平台307
9.4Neo4j的操作311
9.4.1Neo4j的Cypher操作312
9.4.2Neo4j的Java API操作317
9.5本章小结324
9.6课后习题324
第10章综合案例——二手房交易数据分析系统326
10.1系统概述326
10.1.1系统背景介绍326
10.1.2系统架构设计326
10.1.3系统预览327
10.2Spark计算框架327
10.2.1Spark简介328
10.2.2Spark部署与启动328
10.3模块开发——构建项目结构345
10.4模块开发——数据采集353
10.4.1WebMagic简介353
10.4.2分析网页数据结构353
10.4.3实现网络数据采集355
10.4.4存储网络采集数据361
10.5模块开发——数据分析368
10.6模块开发——数据展示 375
10.6.1实现数据展示功能376
10.6.2系统功能模块展示385
10.7本章小结385