NoSQL数据库原理(第2版)(微课版)

计算机类专业教指委-华为ICT产学合作项目——大数据系列规划教材最新版
分享 推荐 2 收藏 19 阅读 2.0K
侯宾 (作者) 978-7-115-61407-0

关于本书的内容有任何问题,请联系 刘博

1. 介绍了MongoDB、Neo4J、Redis、Cassandra和HBase5种NoSQL数据库。
2. 提供两种主流编程语言:Java和Python的示例,读者只要具备其中之一的编程能力,即可参考本书内容进行编程。
3. 基于2022年的主流版本和权威官方文档进行介绍和演示,此外也结合了作者团队的项目实践经验。
¥69.80 ¥59.33 (8.5 折)
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

本书对统称为NoSQL的分布式非关系数据库的原理和使用方法进行介绍。 第1章,首先介绍NoSQL的起源背景和设计理念,以及相关技术概念。然后介绍大数据技术体系,以及NoSQL在云计算和容器化趋势下的发展。 第2章,首先回顾关系型数据库的主要机制,然后介绍NoSQL数据库的常见技术原理,以及NoSQL的常见数据模型等。 第3章,对MongoDB进行介绍,重点介绍基本使用方法和编程方法。 第4章,对MongoDB的集群部署、安全运维等原理和方法进行介绍。 第5章,对Neo4J的基本原理、使用方法等进行介绍。 第6章,对Redis的基本原理、使用方法和集群部署方法等进行介绍。 第7章,介绍Cassandra的基本原理和使用方法。首先介绍Amazon Dynamo的相关原理,然后介绍Cassandra的安装、配置与CQL。 第8章,对Hadoop大数据体系和HBase进行简要介绍。 第9章,介绍其他一些知名的NoSQL数据库技术与工具。

诚邀您加入【人邮社数据库教师交流群】

目录

第1章 绪论 1
1.1 数据库的相关概念 1
1.1.1 关系型数据库 1
1.1.2 关系型数据库的瓶颈 3
1.1.3 NoSQL的诞生与发展 4
1.2 大数据与NoSQL 6
1.2.1 大数据的特征 7
1.2.2 大数据场景中的NoSQL 7
1.2.3 NoSQL的典型应用场景 8
1.3 云计算与NoSQL 9
1.3.1 云计算的特征和模式 9
1.3.2 容器化与微服务 12
1.3.3 基于云的NoSQL服务 13
小结  15
思考题 15
第2章 NoSQL数据库的基本原理 16
2.1 关系型数据库的原理简述 16
2.1.1 关系模型 17
2.1.2 关系型数据库的完整性约束 18
2.1.3 关系型数据库的事务机制 18
2.1.4 关系型数据库的分布式部署 20
2.2 分布式数据管理的特点 22
2.2.1 数据分片 22
2.2.2 数据多副本 24
2.2.3 一次写入多次读取 26
2.2.4 分布式系统集群的可伸缩性 27
2.2.5 异步通信机制 27
2.3 分布式系统的一致性问题 29
2.3.1 CAP理论 29
2.3.2 BASE理论 31
2.3.3 分布式共识与Paxos算法 32
2.4 NoSQL的常见数据模型 33
2.4.1 键值对模型 33
2.4.2 面向列模型 34
2.4.3 文档模型 35
2.4.4 图模型 36
2.5 NoSQL的其他相关技术 37
2.5.1 分布式大数据处理 37
2.5.2 时间同步服务 38
2.5.3 布隆过滤器 39
小结  40
思考题 40
第3章 MongoDB的原理和使用 41
3.1 概述 41
3.2 MongoDB数据格式 43
3.2.1 集合与文档 43
3.2.2 YAML格式 45
3.3 安装配置MongoDB 46
3.3.1 在Windows下安装MongoDB 46
3.3.2 MongoDB的配置文件 47
3.4 命令客户端操作 48
3.4.1 命令行客户端 48
3.4.2 数据库和集合 50
3.4.3 文档插入 51
3.4.4 文档查询 53
3.4.5 文档更新 57
3.4.6 文档删除 59
3.4.7 写操作及返回信息 59
3.4.8 批量写机制 61
3.4.9 管道聚合 61
3.4.10 索引机制 64
3.5 复杂数据格式 68
3.5.1 数组和嵌套 68
3.5.2 全文检索 71
3.5.3 地理空间数据 74
3.5.4 GridFS 77
3.6 图形化客户端操作 78
3.6.1 数据库和集合管理 78
3.6.2 数据查询和操作 80
3.7 编程访问MongoDB 85
3.7.1 基于Python的同步访问模式 85
3.7.2 基于Python的异步访问模式 90
3.7.3 基于Java的同步访问模式 91
小结  98
思考题 98
第4章 MongoDB的管理与集群部署 100
4.1 概述 100
4.2 手动操作mongod 100
4.3 复制集的原理与配置 103
4.3.1 复制集中的角色与关系 104
4.3.2 复制集中的数据同步方式 104
4.3.3 部署复制集 105
4.3.4 MongoDB的相关策略 109
4.4 分片的原理与配置 110
4.4.1 分片策略和相关机制 110
4.4.2 分片集群的结构 111
4.4.3 部署分片集 112
4.4.4 在分片集中进行数据操作 115
4.4.5 分片集和复制集的联合配置 119
4.5 MongoDB的安全机制 120
4.5.1 身份认证 120
4.5.2 用户管理 122
4.5.3 权限管理 124
4.6 在Linux下部署MongoDB 125
小结  127
思考题 127
第5章 图数据库Neo4j 128
5.1 图数据库简介 128
5.1.1 图模型简介 128
5.1.2 Neo4j 129
5.1.3 其他图数据库产品 129
5.1.4 基于图的查询语言 130
5.2 Neo4j Desktop及相关组件 131
5.2.1 Neo4j Desktop 131
5.2.2 Neo4j 浏览器 134
5.2.3 Neo4j Bloom 137
5.3 Cypher语言的常见用法 137
5.3.1 基本概念 138
5.3.2 查询节点和关系 138
5.3.3 创建、修改和删除 142
5.3.4 其他用法和常用关键字 144
5.4 Neo4j服务端 146
5.4.1 在Windows中安装Neo4j服务端 146
5.4.2 Neo4j的命令行环境 147
5.4.3 在CentOS 7中安装Neo4j服务端 148
5.5 编程访问Neo4j示例 148
5.5.1 通过Python访问Neo4j 149
5.5.2 通过Java访问Neo4j 150
小结  151
思考题 151
第6章 键值对数据库Redis 152
6.1 Redis和内存数据库 152
6.2 部署和配置Redis 153
6.2.1 编译和部署Redis 153
6.2.2 启动Redis服务 153
6.2.3 配置Redis 154
6.3 Redis的Shell环境 155
6.3.1 连接到Shell环境 155
6.3.2 服务端的配置与管理 156
6.3.3 设置连接密码 156
6.3.4 数据库管理 157
6.3.5 客户端管理 157
6.4 Shell环境中的数据查询与操作 158
6.4.1 值的操作 158
6.4.2 键的操作 161
6.4.3 列表类型 162
6.4.4 集合类型 164
6.4.5 有序集合类型 166
6.4.6 哈希表类型 168
6.4.7 地理空间类型 169
6.4.8 HLL类型 170
6.5 Redis的高级功能 172
6.5.1 事务机制 172
6.5.2 管道机制 172
6.5.3 LRU缓存机制 173
6.5.4 持久化存储机制 173
6.5.5 发布/订阅机制 174
6.5.6 流机制 175
6.6 Redis集群简介 178
6.6.1 Redis的多副本机制 178
6.6.2 Redis的分片机制 179
6.6.3 部署测试集群 179
6.6.4 分片集管理 182
6.6.5 复制集管理 183
6.7 Redis的编程示例 184
6.7.1 Python访问Redis示例 184
6.7.2 Java访问Redis示例 187
6.8 Redis的扩展工具简介 188
小结  189
思考题 189
第7章 Cassandra的原理和使用 190
7.1 Cassandra概述 190
7.2 Cassandra的技术原理 191
7.2.1 Amazon Dynamo的主要机制 191
7.2.2 Cassandra的数据模型 193
7.2.3 其他相关技术原理 195
7.3 Cassandra的部署与配置 196
7.3.1 单节点部署Cassandra 196
7.3.2 Cassandra的配置文件 197
7.3.3 启动Cassandra 199
7.3.4 Cassandra集群部署简介 200
7.4 CQL与cqlsh环境 201
7.4.1 cqlsh环境简介 201
7.4.2 键空间管理 202
7.4.3 数据表管理 206
7.4.4 CQL的数据类型 208
7.5 CQL数据查询 211
7.5.1 基本数据查询 211
7.5.2 条件查询 212
7.5.3 索引机制 214
7.5.4 使用标量函数 216
7.6 CQL数据更新 217
7.6.1 插入、更新和删除 217
7.6.2 读写一致性 220
7.6.3 集合列的操作 222
7.6.4 计数器列的操作 226
7.6.5 日期时间列的操作 226
7.7 编程访问Cassandra 228
7.7.1 通过Python访问Cassandra 228
7.7.2 通过Java访问Cassandra 229
小结  230
思考题 231
第8章 Hadoop和HBase简介 232
8.1 Hadoop概述 232
8.2 Hadoop体系介绍 233
8.2.1 Hadoop的主要组件 233
8.2.2 HDFS大数据存储工具 234
8.2.3 MapReduce大数据处理组件 239
8.2.4 Hive数据仓库工具 241
8.3 HBase简介 242
8.3.1 HBase的主要特点 243
8.3.2 HBase的数据模型 243
8.3.3 HBase的拓扑结构 245
8.3.4 数据写入和读取机制 247
8.3.5 协处理器机制 249
8.3.6 HBase操作与访问 249
8.4 Hadoop和HBase的部署 252
小结  253
思考题 253
第9章 其他NoSQL数据库简介 254
9.1 时序数据库简介 254
9.1.1 OpenTSDB 255
9.1.2 InfluxDB 256
9.2 搜索引擎系统简介 258
9.2.1 Nutch 258
9.2.2 Lucene 259
9.2.3 Solr和Elasticsearch 261
小结  261
思考题 261
附录1 基于Maven构建NoSQL开发项目 262
附录2 在CentOS 7上安装Python 3 267

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

侯宾,2007年7月起在北京邮电大学任教,教学经验丰富,平均年教学时长在100小时以上,在学生评教中一直具有良好的评价。所主讲课程《信号与系统》、《电路分析基础》等均属于北京市精品课程,对教学过程管理和内容体系要求较高。

推荐用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部