首页 > 图书中心 > NoSQL数据库从入门到实战(微课视频版)

目录

目录

第1章数据库系统基础1

1.1关系数据库1

1.1.1关系数据发展1

1.1.2关系数据库的功能3

1.1.3关系数据库的优缺点4

1.2NoSQL数据库5

1.2.1NoSQL数据库发展5

1.2.2NoSQL与大数据7

1.2.3NoSQL的特点9

1.3NoSQL数据库分类及应用场景10

1.3.1文档数据库10

1.3.2列族数据库11

1.3.3键值对数据库12

1.3.4图数据库13

1.4NewSQL数据库13

1.4.1NewSQL数据库简介13

1.4.2NewSQL数据库特点13

第2章NoSQL数据库基本原理15

2.1分布式数据管理特点15

2.1.1数据分片15

2.1.2数据多副本存储17

2.1.3读写分离17

2.1.4分布式系统的可伸缩性19

2.2分布式系统的一致性问题19

2.2.1CAP原理19

2.2.2BASE与最终一致性21

2.2.3Paxos22

第3章文档数据库与MongoDB26

3.1MongoDB简介26

3.2基本概念27

3.2.1文档数据模型27

3.2.2文档存储结构27

3.2.3数据类型29

3.3MongoDB的安装与配置30

3.3.1单机环境部署30

3.3.2MongoDB的配置文件33

3.4MongoDB的基本操作34

3.4.1Mongo Shell的使用34

3.4.2数据库和集合操作36

3.4.3基本增删改查操作36

3.4.4聚合和管道39

3.4.5索引操作42

3.5通过Java访问MongoDB44

3.5.1数据库和集合操作44

3.5.2基本增删改查操作45

3.5.3聚合和管道50

3.5.4索引操作51

3.6通过Python访问MongoDB52

3.6.1数据库和集合操作52

3.6.2基本增删改查操作53

3.6.3聚合和管道59

3.6.4索引操作59

第4章MongoDB分片与副本集60

4.1副本集概述60

4.1.1副本集概念60

4.1.2副本集成员61

4.2部署副本集61

4.2.1环境准备61

4.2.2副本集的安装与启动62

4.2.3副本集的初始化63

4.3副本集基本操作64

4.3.1查看成员状态64

4.3.2同步副本文档64

4.3.3故障转移65

4.3.4配置副本集成员66

4.4副本集机制68

4.4.1同步机制68

4.4.2心跳检测机制68

4.4.3选举机制69

4.5分片概述69

4.5.1分片概念69

4.5.2分片策略69

4.5.3分片架构70

4.6部署分片集群71

4.6.1环境准备71

4.6.2部署MongoDB72

4.6.3部署Config Server72

4.6.4部署Shard74

4.6.5部署Mongos75

4.6.6启用分片75

4.7分片的基本操作77

第5章MongoDB GridFS79

5.1GridFS概述79

5.1.1GridFS概念79

5.1.2GridFS应用场景80

5.2GridFS存储原理80

5.2.1GridFS存储结构80

5.2.2GridFS存储过程81

5.3GridFS基本操作82

5.3.1使用Shell操作MongoDB GridFS82

5.3.2使用Java操作MongoDB GridFS83

5.3.3使用Python操作MongoDB GridFS87

第6章列族数据库与HBase90

6.1HBase简介91

6.1.1HBase的发展91

6.1.2与关系数据库的比较91

6.2HBase的组件和功能92

6.2.1Client92

6.2.2Zookeeper92

6.2.3Master92

6.2.4Region Server92

6.2.5HBase的安装与配置93

6.3HBase的数据模型99

6.3.1表与行键102

6.3.2列标识与列族102

6.3.3单元格102

6.4HBase的基本操作103

6.4.1HBase Shell103

6.4.2表和列族操作104

6.4.3数据更新104

6.4.4数据查询105

6.4.5HBase Table设计原则105

6.5通过Java访问HBase105

6.5.1基本环境配置105

6.5.2表的连接和操作105

6.5.3表操作与数据更新107

6.5.4数据查询109

第7章HBase进阶112

7.1水平分区原理112

7.1.1meta表112

7.1.2数据写入和读取机制113

7.1.3预写日志114

7.1.4分区拆分115

7.2HBase Region管理115

7.2.1HFile合并115

7.2.2Region拆分116

7.2.3Region合并117

7.2.4Region负载均衡117

7.3HBase集群的高可用性与伸缩性118

7.3.1Zookeeper的基本原理118

7.3.2基于Zookeeper的高可用性121

7.3.3集群数据迁移过程122

第8章键值数据库与Redis127

8.1Redis简介127

8.1.1Redis特性127

8.1.2Redis使用场景128

8.2Redis的安装与配置129

8.2.1下载和安装Redis129

8.2.2启动和停止Redis130

8.2.3使用rediscli连接到Redis133

8.2.4获取服务器信息134

8.3Redis数据结构与应用场景137

8.3.1字符串操作138

8.3.2散列操作142

8.3.3列表操作145

8.3.4集合操作147

8.3.5Bitmap操作149

8.4使用Java操作Redis152

8.4.1环境搭建152

8.4.2字符串操作153

8.4.3散列操作155

8.4.4列表操作157

8.4.5集合操作159

第9章图数据库与Neo4j161

9.1图论与图数据库161

9.1.1图的基本概念161

9.1.2图解决的问题162

9.1.3图数据库162

9.1.4属性图模型163

9.2Neo4j基础入门163

9.2.1Neo4j的关键概念和特点163

9.2.2Neo4j典型应用场景164

9.2.3Neo4j的安装与配置164

9.3Neo4j数据模型167

9.3.1四种基础数据结构167

9.3.2图数据库建模基础168

9.3.3图模型168

9.3.4图建模168

9.4Cypher入门169

9.4.1Cypher的关键特性169

9.4.2Cypher的语法169

9.4.3Cypher的增删改查操作171

9.4.4Cypher的常用函数172

第10章案例实战——使用MongoDB实现海量数据标注174

10.1数据库设计174

10.1.1部分数据库设计174

10.1.2其他数据单设计175

10.2配置MongoDB176

10.2.1创建数据库176

10.2.2数据库连接配置177

10.3增删改查操作177

10.3.1处理用户数据单177

10.3.2存储和处理文档内容179

10.3.3存储实体属性列表181

第11章案例实战——使用HBase实现商品批量存储183

11.1数据库设计183

11.2复杂数据处理184

11.2.1数据读取184

11.2.2压缩信息184

11.2.3解压信息185

11.3数据读写186

11.3.1从Hive获取数据表186

11.3.2将数据复制到HBase集群188

11.3.3读取数据191

第12章案例实战——使用Redis实现高并发秒杀系统192

12.1创建SpringBoot项目与配置192

12.1.1创建SpringBoot项目192

12.1.2编辑pom.xml192

12.1.3创建SpringBoot入口193

12.2数据库操作195

12.2.1建库与插入数据195

12.2.2创建实体类196

12.2.3编写mapper文件197

12.3业务逻辑198

12.3.1Redis配置198

12.3.2编写控制层199

12.3.3编写服务层200

12.4测试206

12.4.1使用JMeter压力测试工具206

12.4.2测试/list接口207

12.4.3测试/findById接口207

12.4.4测试/buy接口208

第13章实战案例——使用Neo4j实现电影关系图构建210

13.1数据库设计210

13.2在Neo4j浏览器中创建结点和关系211

13.2.1创建结点211

13.2.2创建关系211

13.3使用Python语言操作Neo4j数据库212

13.3.1连接数据库212

13.3.2建立和更新结点和关系212

13.3.3查找结点或关系213

参考文献215

版权所有(C)2022 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802013248号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘