本书是一本介绍分布式数据库基础内容与应用的大数据专业类图书,力求培养读者对分布式数据库的应用技能。 本书共11章,采用原理+代码实例+综合案例的编写形式,清晰明了地介绍分布式数据库的原理、基础应用、进阶应用及主流工具的使用方法、应用场景,以理实结合为编写要求,让读者能够轻松学习和掌握分布式数据库的内容。
本书可以作为高等院校计算机、网络技术等相关专业的教材,也可以作为数据库相关工作的从业人员的参考用书,亦可作零基础人员学习分布式数据库技术的入门图书。
1.本书是《大数据》编委会针对校企合作的精心力作。
2.本书凝结了曙光瑞翼多年的教学经验,能够满足校企融合教学的需求。
3.本书旨在介绍分布式数据库的基础知识,为(将)从事大数据相关工作的读者奠定基础。
4.本书采用任务驱动的编写方式,读者可以直接进行实验效果体验,并进行自由调整。
5.本书采用大量的实践案例,结合行业典型应用,编写行业实践。
6.本书提供丰富的教学资源,包括电子课件、实验设计等。
许桂秋,北京中科特瑞科技有限公司,主要研究方向为大数据、人工智能技术,已出版《大数据导论》《Python编程基础与应用》《NoSQL数据库原理与应用》《数据挖掘与机器学习》等图书。
第 1章 数据库概述 1
任务1.1 数据库系统概述 1
1.1.1 数据库系统的基本概念 1
1.1.2 关系数据库 5
任务1.2 MySQL的安装与使用 8
1.2.1 MySQL简介 8
1.2.2 MySQL的安装 8
1.2.3 MySQL数据库的基本操作 11
1.2.4 MySQL数据表的基本操作 12
1.2.5 数据的基本操作 13
任务1.3 分布式数据库 15
1.3.1 CAP与BASE理论 15
1.3.2 分布式数据库概述 18
任务1.4 Python和Java连接数据库 21
1.4.1 Python操作MySQL 22
1.4.2 Java操作MySQL 23
本章小结 24
第 2章 HBase安装、数据模型与数据操作 26
任务2.1 HBase简介 26
2.1.1 HBase概述 26
2.1.2 HBase的应用场景 31
任务2.2 HBase伪分布式环境部署 31
2.2.1 Zookeeper简介、安装与测试 31
2.2.2 Hadoop简介、安装与测试 34
2.2.3 伪分布式HBase安装与配置文件的修改 34
2.2.4 启动并测试HBase伪分布式集群 35
任务2.3 HBase基本原理 36
2.3.1 HBase的基本概念 36
2.3.2 HBase的数据模型 37
任务2.4 HBase Shell基本操作 38
2.4.1 HBase命名空间及其基本操作 38
2.4.2 HBase数据表及其基本操作 40
2.4.3 HBase的CRUD操作 43
2.4.4 HBase过滤器 46
本章小结 49
第3章 MongoDB安装、数据操作与安全操作 51
任务3.1 MongoDB概述 51
3.1.1 MongoDB简介 51
3.1.2 MongoDB的类SQL数据库特性 61
任务3.2 MongoDB的安装 64
3.2.1 在Windows环境下安装MongoDB 64
3.2.2 在Ubuntu环境下安装MongoDB 68
3.2.3 MongoDB启动测试 70
任务3.3 MongoDB的基本使用方法 72
3.3.1 数据库与集合的基本操作 72
3.3.2 文档的基本操作 75
任务3.4 MongoDB聚合操作 84
3.4.1 聚合管道操作 84
3.4.2 map-reduce操作 86
任务3.5 MongoDB索引操作 87
3.5.1 索引简介 87
3.5.2 索引策略 92
任务3.6 MongoDB安全操作 94
3.6.1 安全检测列表 94
3.6.2 启用访问控制 94
3.6.3 身份验证 97
本章小结 99
第4章 Redis安装、数据类型与数据操作 101
任务4.1 Redis概述 101
4.1.1 Redis简介 101
4.1.2 Redis的应用场景 102
任务4.2 Redis的安装 103
4.2.1 在Windows环境下安装Redis 103
4.2.2 在CentOS环境下安装Redis 105
4.2.3 在Ubuntu环境下安装Redis 105
任务4.3 Redis的基本命令 108
4.3.1 Redis基本命令的相关操作 108
4.3.2 Redis关于键的操作 108
任务4.4 Redis支持的数据类型与基本操作 110
4.4.1 字符串基本操作 110
4.4.2 哈希基本操作 111
4.4.3 列表基本操作 116
4.4.4 集合基本操作 123
4.4.5 有序集合基本操作 130
本章小结 140
第5章 Neo4j安装与Cypher操作 142
任务5.1 Neo4j简介 142
5.1.1 Neo4j概述 142
5.1.2 Cypher简介 146
任务5.2 安装Neo4j 148
5.2.1 在Windows环境下安装Neo4j 149
5.2.2 在Ubuntu环境下安装Neo4j 151
5.2.3 Neo4j配置文件 153
任务5.3 Cypher入门 156
5.3.1 数据类型 156
5.3.2 命名规范 157
5.3.3 Cypher保留关键字 158
任务5.4 常见的Cypher操作 158
5.4.1 CREATE 159
5.4.2 MATCH 159
5.4.3 RETURN、LIMIT和SKIP 164
5.4.4 DELETE和REMOVE 166
5.4.5 WHERE 168
5.4.6 SET 172
5.4.7 ORDER BY 174
5.4.8 WITH 176
5.4.9 UNION 177
5.4.10 MERGE 179
5.4.11 UNWIND 179
5.4.12 LOAD CSV 181
本章小结 183
第6章 HBase编程操作、核心原理与集群管理 184
任务6.1 HBase的编程操作 184
6.1.1 HBase的表操作 184
6.1.2 HBase的CRUD操作 189
6.1.3 HBase过滤器 192
任务6.2 HBase核心原理 193
6.2.1 数据存储 194
6.2.2 定位与读取操作 198
6.2.3 WAL机制 198
任务6.3 HBase Region管理 199
6.3.1 HFile合并 200
6.3.2 Region的拆分与合并 200
6.3.3 Region的负载均衡 202
6.3.4 RowKey设计 203
任务6.4 HBase集群管理 204
6.4.1 运维管理 204
6.4.2 数据处理 205
6.4.3 故障处理 207
本章小结 208
第7章 MongoDB编程操作、生产环境部署与集群管理 209
任务7.1 MongoDB编程操作 209
7.1.1 Java操作MongoDB 209
7.1.2 Python操作MongoDB 212
任务7.2 MongoDB复制集部署 215
7.2.1 复制集架构 215
7.2.2 部署MongoDB复制集 217
任务7.3 MongoDB分片集部署 220
7.3.1 分片集架构 221
7.3.2 MongoDB分片集部署 223
任务7.4 MongoDB运维 227
7.4.1 数据备份 227
7.4.2 性能监控 231
本章小结 232
第8章 Redis编程操作与生产环境部署 234
任务8.1 编程操作Redis 234
8.1.1 下载Redis驱动 234
8.1.2 编程操作Redis 235
任务8.2 Redis主从模式 236
8.2.1 Redis主从复制的作用和架构 237
8.2.2 部署Redis主从模式 237
8.2.3 主从复制模式实践 239
任务8.3 Redis哨兵模式 240
8.3.1 Redis哨兵模式的作用和架构 240
8.3.2 部署Redis哨兵模式 241
8.3.3 哨兵模式应用 243
任务8.4 配置Redis集群模式 244
8.4.1 Redis集群模式的作用和架构 244
8.4.2 部署Redis集群模式 245
8.4.3 Redis集群模式应用 248
本章小结 249
第9章 Neo4j编程操作、扩展与运维管理 250
任务9.1 Neo4j编程操作 250
9.1.1 Java操作Neo4j 250
9.1.2 Python操作Neo4j 254
任务9.2 APOC扩展与使用 256
9.2.1 APOC简介与安装 256
9.2.2 APOC的使用 258
任务9.3 ALOG扩展与使用 262
9.3.1 ALOG简介与安装 262
9.3.2 ALGO的应用 263
任务9.4 Neo4j运维 267
9.4.1 Neo4j备份与恢复 267
9.4.2 Neo4j性能与安全 268
本章小结 270
第 10章 其他NoSQL数据库 272
任务10.1 Elasticsearch 272
10.1.1 Elasticsearch背景 272
10.1.2 Elasticsearch基础 274
任务10.2 ClickHouse 276
10.2.1 ClickHouse简介 276
10.2.2 ClickHouse基础内容 277
任务10.3 时序数据库 281
10.3.1 时序数据库背景 281
10.3.2 核心特点 283
10.3.3 应用场景 283
任务10.4 向量数据库 284
10.4.1 向量数据库概述 284
10.4.2 向量数据库的特点 285
10.4.3 向量数据库的应用场景 285
本章小结 286
第 11章 综合实验 287
任务11.1 HBase数据库与关系数据库数据迁移 287
11.1.1 环境设置 287
11.1.2 MySQL数据库的设计与数据导入 288
11.1.3 启动HBase以及Thrift服务 292
11.1.4 将数据从MySQL导入HBase 293
任务11.2 MongoDB数据存储与可视化分析 296
11.2.1 环境设置 296
11.2.2 获取和存储数据 297
11.2.3 分析数据并可视化 298
任务11.3 Redis整合Ngnix实现网页缓存 301
11.3.1 环境设置 301
11.3.2 OpenResty环境搭建 301
11.3.3 在Nginx代理服务器中使用Redis缓存网页数据 303
任务11.4 Neo4j社交网络查询 311
11.4.1 环境设置 311
11.4.2 数据准备与导入 311
11.4.3 查询语句 314
本章小结 318