×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787121372247
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:24cm
  • 页数:12,398页
  • 出版时间:2019-09-01
  • 条形码:9787121372247 ; 978-7-121-37224-7

本书特色

本书基于MongoDB 4.0版本编写。本书的前半部分从数据库管理员的角度出发,介绍MongoDB理论知识及环境架设;后半部分则是从应用角度出发,通过大量的实例深入地讲解MongoDB的具体操作。 全书共分为4篇。第1篇“MongoDB环境的理论与实践”,介绍MongoDB的基础知识,搭建MongoDB环境的步骤,MongoDB的整体架构、副本集、分片集群,以及优化操作系统使得MongoDB的性能*。第2篇“数据管理操作”,以实际操作介绍MongoDB对数据的操作及存储过程,并且展示如何使用Python来实现GridFS操作。第3篇“运维与安全管理”,通过实际操作介绍MongoDB的安全管理与运维监控的相关功能,如用户管理、角色管理、数据库的备份和恢复、使用监控工具对MongoDB的活动进行监控,以及通过客户端软件来操作与管理MongoDB。第4篇“应用开发与案例”,包括通过各种程序语言(如Java、C#、Python、Node.js)访问和操作MongoDB,以及如何运用整本书的知识满足现实中的数据库管理及应用需求。 本书内容丰富、条理清晰、通俗易懂,非常适合MongoDB的初学者和进阶读者阅读,同时也适合作为相关培训机构的教材。

内容简介

本书深入浅出地介绍了MongoDB, 第1篇, 介绍了大数据、非关联数据库 (NoSQL) 、MongoDB基础知识 ; 第2篇, MongoDB安装 ; 第3篇, MongoDB的具体操作及应用 ; 第4篇, 数据库安全与维护 ; 第5篇, 应用案例—使用Java访问与操作MongoDB—使用C#访问与操作MongoDB—使用Python访问与操作MongoDB—使用node.js访问与操作MongoDB—实时数据的处理与分析—跨区域数据中心建置。

目录

第1篇 MongoDB环境的理论与实践 / 1 第1章 初识NoSQL数据库与MongoDB / 2 1.1 初识NoSQL数据库 / 2 1.1.1 何为NoSQL数据库 / 2 1.1.2 NoSQL数据库有哪些特征 / 3 1.1.3 为何NoSQL数据库会崛起? / 4 1.1.4 NoSQL数据库有哪些种类? / 4 1.1.5 NoSQL数据库与RDB该怎么选择呢 / 5 1.2 初识MongoDB / 6 1.2.1 何为MongoDB / 6 1.2.2 MongoDB有哪些特性 / 6 1.2.3 MongoDB适用于哪些场景 / 7 1.2.4 MongoDB中的对象 / 7 1.2.5 MongoDB的文档知识 / 9 1.2.6 MongoDB的数据类型 / 11 第2章部署MongoDB单机版 / 16 2.1 操作系统硬件规格选择 / 16 2.2 部署Windows版MongoDB / 18 2.2.1 下载软件 / 18 2.2.2 部署安装版 / 19 2.2.3 部署免安装版 / 25 2.3 部署Linux版MongoDB / 26 2.3.1 下载软件 / 26 2.3.2 启动MongoDB / 27 2.3.3 配置启动文件 / 28 2.3.4 启动/确定运行/终止服务 / 31 2.3.5 配置单机权限——Auth属性值 / 33 2.3.6 配置自启动服务 / 35 第3章 认识MongoDB集群 / 40 3.1 认识集群 / 40 3.1.1 从一个日常生活情境着手 / 40 3.1.2 mongos服务 / 44 3.1.3 config服务 / 46 3.1.4 shard服务 / 47 3.2 认识副本集(Replica Set) / 47 3.2.1 副本集简介 / 48 3.2.2 高可用(节点故障转移) / 50 3.2.3 数据读写策略 / 59 3.3 认识分片集(Sharded Cluster) / 63 3.3.1 分片集简介 / 63 3.3.2 片键(Shard Key) / 65 3.3.3 控制数据分发——分片标签 / 67 3.3.4 平衡器(Balancer) / 68 第4章 集群的配置 / 73 4.1 配置副本集 / 73 4.1.1 了解要配置的架构 / 73 4.1.2 配置数据副本集(含Arbiter) / 74 4.1.3 配置内存节点 / 78 4.2 配置分片集群 / 79 4.2.1 了解要配置的架构 / 79 4.2.2 配置config副本集 / 81 4.2.3 配置mongos / 84 4.2.4 配置集群的权限 / 87 4.2.5 配置自启动服务 / 88 4.2.6 设置数据库分片(含指定数据存放分片) / 91 4.3 集群的常用配置 / 93 4.3.1 查看分片信息状态 / 93 4.3.2 调整副本集 / 95 4.3.3 调整分片集 / 98 4.3.4 管理平衡器(Balancer) / 99 4.3.5 让数据在分片间迁移 / 100 第5章 优化Linux以提升MongoDB性能 / 101 5.1 实现所有MongoDB Server时间的 同步 / 101 5.1.1 了解时间同步(NTP) / 101 5.1.2 手动设定时间同步 / 102 5.1.3 通过服务自动实现时间同步 / 102 5.2 减少时间戳记录 / 103 5.3 关闭磁盘预读功能 / 104 5.3.1 手动关闭 / 105 5.3.2 让系统自动关闭 / 105 5.4 关闭内存管理 / 108 5.4.1 了解标准大页和透明大页 / 108 5.4.2 在CentOS 7.0中配置THP / 108 5.5 禁用“非统一内存访问”(NUMA) / 109 5.5.1 NUMA的工作原理 / 109 5.5.2 查看硬件的NUMA分配节点资源的情况 / 110 5.5.3 禁用NUMA机制 / 110 第2篇 数据管理操作 / 111 第6章 MongoDB基础操作 / 112 6.1 文档的操作 / 112 6.1.1 插入 / 112 6.1.2 更新 / 116 6.1.3 删除 / 120 6.1.4 基本查询 / 121 6.1.5 条件查询 / 122 6.1.6 正则表达式 / 124 6.1.7 内嵌文档查询 / 126 6.1.8 数据校验 / 127 6.1.9 原子性操作 / 129 6.2 集合的操作 / 131 6.2.1 集合管理 / 131 6.2.2 固定集合 / 133 6.3 创建索引 / 134 6.3.1 单字段索引 / 135 6.3.2 复合索引 / 137 6.3.3 TTL索引 / 137 6.3.4 全文本索引 / 138 6.3.5 地理空间索引 / 139 6.3.6 哈希索引(Hash Index) / 142 6.3.7 查询优化诊断 / 142 6.4 常用聚合操作 / 143 6.4.1 聚合——$group / 144 6.4.2 显示字段——$project / 145 6.4.3 数据排序、跳过几个文档、限制显示文档数量——$sort、$skip、$limit / 152 6.4.4 条件筛选——$match / 152 6.4.5 多表关联查询——$lookup / 153 6.4.6 计算文档数量——$count / 155 6.4.7 展开数组——$unwind / 155 6.4.8 结果汇入新表——$out / 156 6.5 映射和归约(MapReduce) / 157 6.5.1 MapReduce介绍 / 157 6.5.2 范例1:数据汇总 / 158 6.5.3 范例2:存成数组 / 160 6.6 存储过程 / 162 6.6.1 保存存储过程 / 162 6.6.2 查看存储过程 / 163 6.6.3 执行存储过程 / 163 第7章 大文件存储——MongoDB GridFS / 165 7.1 GridFS介绍 / 165 7.1.1 GridFS如何存储文档 / 165 7.1.2 认识chunks与files集合 / 166 7.2 GridFS操作 / 167 7.2.1 通过GridFS上传文件 / 168 7.2.2 通过GridFs查看文件列表 / 168 7.2.3 通过GridFs下载文件 / 168 7.2.4 通过GridFS删除文件 / 169 7.2.5 通过GridFS查找文件 / 169 7.2.6 GridFS的其余参数 / 169 7.3 用Python实现GridFS操作 / 170 第3篇 运维与安全管理 / 173 第8章 数据库安全管理与审计 / 174 8.1 权限管理简介 / 174 8.2 用户管理 / 175 8.2.1 创建用户与登录 / 175 8.2.2 修改用户 / 178 8.2.3 删除用户 / 179 8.2.4 查询用户 / 180 8.2.5 授予用户权限 / 183 8.2.6 撤销用户权限 / 183 8.3 角色管理 / 183 8.3.1 内建角色 / 183 8.3.2 创建自定义角色 / 186 8.3.3 修改自定义角色 / 187 8.3.4 删除自定义角色 / 188 8.3.5 查询自定义角色 / 188 8.3.6 授予角色权限 / 190 8.3.7 撤销角色权限 / 191 8.4 身份验证 / 193 8.4.1 SCRAM / 193 8.4.2 x.509 / 195 8.5 数据加密 / 198 8.5.1 动态数据加密(传输加密) / 198 8.5.2 静态数据加密 / 198 8.6 审计 / 198 8.6.1 审计的启用与配置 / 199 8.6.2 审计事件与过滤 / 199 8.7 检测安全漏洞 / 200 第9章 备份与恢复 / 202 9.1 了解备份/恢复 / 202 9.2 逻辑备份/恢复的常用命令 / 203 9.2.1 备份/恢复 / 203 9.2.2 导出/导入 / 206 9.3 物理备份/恢复的常用命令 / 210 9.4 备份/恢复的具体方案 / 211 9.4.1 单机的备份/恢复 / 211 9.4.2 副本集的备份/恢复 / 212 9.4.3 分片集群的备份/恢复 / 214 第10章 监控管理 / 216 10.1 监控MongoDB / 216 10.1.1 MongoDB自带监控工具 / 217 10.1.2 mongo shell中的监控指令 / 219 10.1.3 第三方监控工具 / 223 10.1.4 免费监控服务 / 224 10.2 官方提供的运维管理系统——MongoDB Ops Manager / 225 10.2.1 认识Ops Manager / 226 10.2.2 Ops Manager的功能 / 227 第11章 客户端软件 / 231 11.1 官方客户端软件 / 231 11.1.1 MongoDB Compass简介 / 231 11.1.2 创建数据库及集合 / 232 11.1.3 新增集合中的文档及查询数据 / 233 11.1.4 查询文档 / 233 11.1.5 进行聚合操作 / 234 11.1.6 查询执行计划 / 235 11.1.7 建立数据校验规则 / 236 11.1.8 进行监控 / 237 11.2 第三方客户端软件 / 238 11.2.1 Studio 3T for MongoDB / 238 11.2.2 Robo 3T / 245 11.2.3 NoSQL Manager / 246 11.3 总结 / 251 第4篇 应用开发与案例 / 253 第12章 用Java操作MongoDB / 254 12.1 环境准备 / 254 12.1.1 环境说明 / 254 12.1.2 配置MongoDB的Java驱动 / 255 12.2 建立连接与断开连接 / 256 12.3 应用与操作 / 259 12.3.1 新增文档 / 259 12.3.2 删除文档 / 261 12.3.3 修改文档 / 263 12.4 查询文档数据 / 266 12.4.1 限制查询结果集的大小 / 266 12.4.2 限制查询返回的字段 / 266 12.4.3 按条件进行查询 / 267 12.4.4 对查询结果分页 / 268 12.4.5 用聚合命令查询文档 / 271 12.4.6 应用索引查询 / 272 12.5 使用正则表达式 / 275 12.6 批量处理数据 / 275 12.7 创建文档关联查询 / 277 12.8 操作MongoDB GridFS / 279 12.9 小结 / 282 第13章 用C#操作MongoDB / 283 13.1 环境准备 / 283 13.1.1 环境说明 / 283 13.1.2 配置MongoDB驱动 / 284 13.2 建立连接 / 285 13.3 应用与操作 / 287 13.3.1 新增文档 / 287 13.3.2 删除文档 / 289 13.3.3 修改文档 / 290 13.4 查询文档数据 / 293 13.4.1 限制查询结果集大小 / 293 13.4.2 限制查询返回的字段 / 294 13.4.3 按条件进行查询 / 295 13.4.4 将查询结果分页显示 / 296 13.4.5 使用聚合命令查询文档 / 297 13.4.6 应用索引查询 / 299 13.5 使用正则表达式 / 301 13.6 批量处理数据 / 302 13.7 创建文档关联查询 / 302 13.8 操作MongoDB GridFS / 304 13.9 小结 / 307 第14章 用Python操作MongoDB / 308 14.1 环境准备 / 309 14.1.1 安装Python / 309 14.1.2 安装pymongo / 310 14.2 建立连接与断开连接 / 310 14.3 应用与操作 / 311 14.3.1 新增文档 / 311 14.3.2 删除文档 / 315 14.3.3 修改文档 / 316 14.4 查询文档数据 / 318 14.4.1 限制查询结果集大小 / 318 14.4.2 限制查询返回的字段 / 320 14.4.3 用复杂条件进行查询 / 322 14.4.4 将查询结果分页显示 / 323 14.4.5 用聚合方法查询文档 / 325 14.4.6 用索引查询 / 326 14.5 使用正则表达式 / 331 14.6 批量处理数据 / 333 14.7 创建文档关联查询 / 336 14.8 操作MongoDB GridFS / 339 14.9 小结 / 341 第15章 用Node.js操作MongoDB / 342 15.1 准备环境 / 342 15.1.1 安装Node.js / 342 15.1.2 安装MongoDB包 / 344 15.2 建立与断开连接 / 344 15.3 应用与操作 / 347 15.3.1 新增文档 / 347 15.3.2 删除文档 / 350 15.3.3 修改文档 / 351 15.4 查询文档 / 354 15.4.1 限制查询结果集大小 / 354 15.4.2 限制查询字段 / 357 15.4.3 查询条件使用 / 358 15.4.4 将查询结果分页 / 359 15.4.5 使用聚合方法查询文档 / 361 15.4.6 用索引进行查询 / 362 15.5 使用正则表达式 / 365 15.6 批理处理数据 / 366 15.7 创建文档关联查询 / 367 15.8 操作MongoDB GridFS / 369 15.9 小结 / 371 第16章 实际应用案例 / 372 16.1 搭建跨区域数据中心 / 372 16.1.1 需求描述 / 372 16.1.2 架构设计 / 373 16.1.3 架构配置 / 375 16.2 用MongoDB实现流式数据处理 / 378 16.2.1 任务与目标 / 378 16.2.2 问题展开 / 378 16.2.3 解决方案 / 379 16.2.4 代码编写 / 382 16.3 用“Node.js+MongoDB”实现高并发的网络聊天室 / 386 16.3.2 解决方案 / 387 16.3.3 MongoDB应用 / 387 16.3.4 代码编写 / 389
展开全部

作者简介

张雯杰
在富士康从事数据相关工作超过十年,主要负责RDB与NoSQL数据库集群的设计、搭建和应用,以及企业商业智能决策系统的搭建。
“萌阔论坛”(http://forum.foxera.com/mongodb)的创始人与作者之一。(注,“萌阔论坛”为MongoDB官方在大中华区唯一支持的MongoDB论坛。)
致力于推动MongoDB在企业中的应用,如企业即时通信系统、电子商务平台、企业教育直播平台等。 蔡佳玲
目前在富士康担任DBA,从事MongoDB管理及运帷多年,具有丰富的MongoDB、SQL Server的应用经验。曾运用MongoDB规划并搭建完整的跨区域数据平台。
“萌阔论坛”的管理员之一,微信群“MongoDB论坛技术讨论群”的群主。
在“萌阔论坛”及“MongoDB论坛技术讨论群”中协助许多程序员解决MongoDB应用方面的问题。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航