展开全部

主编推荐语

一部介绍MongoDB数据库开发的作品。

内容简介

与传统的关系型数据库不同,MongoDB是一种面向文档的数据库。这本书这一版共分为六部分,涵盖开发、管理以及部署的各个方面。第一部分展示MongoDB基础知识、核心概念。第二部分介绍使用MongoDB进行开发,包括索引的概念以及各种特殊索引和集合的用法等。第三部分讲述复制,包括副本集的相关概念、创建方法,与应用程序的交互等。第四部讨论分片,包括分片的配置,片键的选择,集群的管理。第五部分阐述创建索引、移动和压缩数据等管理任务,以及MongoDB的持久数据存储。最后一部分集中说明服务器管理。

本书适合数据库开发和管理人员阅读。

目录

  • 版权信息
  • O'Reilly Media, Inc.介绍
  • 业界评论
  • 前言
  • 本书的组织结构
  • 本书排版规范
  • 使用代码示例
  • Safari在线图书
  • 联系我们
  • 致谢
  • 第一部分 MongoDB介绍
  • 第1章 MongoDB简介
  • 1.1 易于使用
  • 1.2 易于扩展
  • 1.3 丰富的功能
  • 1.4 卓越的性能
  • 1.5 小结
  • 第2章 MongoDB基础知识
  • 2.1 文档
  • 2.2 集合
  • 2.2.1 动态模式
  • 2.2.2 命名
  • 2.3 数据库
  • 2.4 启动MongoDB
  • 2.5 MongoDB shell简介
  • 2.5.1 运行shell
  • 2.5.2 MongoDB客户端
  • 2.5.3 shell中的基本操作
  • 2.6 数据类型
  • 2.6.1 基本数据类型
  • 2.6.2 日期
  • 2.6.3 数组
  • 2.6.4 内嵌文档
  • 2.6.5 _id和ObjectId
  • 2.7 使用MongoDB Shell
  • 2.7.1 shell小贴士
  • 2.7.2 使用shell执行脚本
  • 2.7.3 创建.mongorc.js文件
  • 2.7.4 定制shell提示
  • 2.7.5 编辑复合变量
  • 2.7.6 集合命名注意事项
  • 第3章 创建、更新和删除文档
  • 3.1 插入并保存文档
  • 3.1.1 批量插入
  • 3.1.2 插入校验
  • 3.2 删除文档
  • 删除速度
  • 3.3 更新文档
  • 3.3.1 文档替换
  • 3.3.2 使用修改器
  • 3.3.3 upsert
  • 3.3.4 更新多个文档
  • 3.3.5 返回被更新的文档
  • 3.4 写入安全机制
  • 第4章 查询
  • 4.1 find简介
  • 4.1.1 指定需要返回的键
  • 4.1.2 限制
  • 4.2 查询条件
  • 4.2.1 查询条件
  • 4.2.2 OR查询
  • 4.2.3 $not
  • 4.2.4 条件语义
  • 4.3 特定类型的查询
  • 4.3.1 null
  • 4.3.2 正则表达式
  • 4.3.3 查询数组
  • 4.3.4 查询内嵌文档
  • 4.4 $where查询
  • 服务器端脚本
  • 4.5 游标
  • 4.5.1 limit、skip和sort
  • 4.5.2 避免使用skip略过大量结果
  • 4.5.3 高级查询选项
  • 4.5.4 获取一致结果
  • 4.5.5 游标生命周期
  • 4.6 数据库命令
  • 数据库命令工作原理
  • 第二部分 设计应用
  • 第5章 索引
  • 5.1 索引简介
  • 5.1.1 复合索引简介
  • 5.1.2 使用复合索引
  • 5.1.3 $操作符如何使用索引
  • 5.1.4 索引对象和数组
  • 5.1.5 索引基数
  • 5.2 使用explain()和hint()
  • 查询优化器
  • 5.3 何时不应该使用索引
  • 5.4 索引类型
  • 5.4.1 唯一索引
  • 5.4.2 稀疏索引
  • 5.5 索引管理
  • 5.5.1 标识索引
  • 5.5.2 修改索引
  • 第6章 特殊的索引和集合
  • 6.1 固定集合
  • 6.1.1 创建固定集合
  • 6.1.2 自然排序
  • 6.1.3 循环游标
  • 6.1.4 没有_id索引的集合
  • 6.2 TTL索引
  • 6.3 全文本索引
  • 6.3.1 搜索语法
  • 6.3.2 优化全文本搜索
  • 6.3.3 在其他语言中搜索
  • 6.4 地理空间索引
  • 6.4.1 地理空间查询的类型
  • 6.4.2 复合地理空间索引
  • 6.4.3 2D索引
  • 6.5 使用GridFS存储文件
  • 6.5.1 GridFS入门
  • 6.5.2 在MongoDB驱动程序中使用GridFS
  • 6.5.3 揭开GridFS的面纱
  • 第7章 聚合
  • 7.1 聚合框架
  • 7.2 管道操作符
  • 7.2.1 $match
  • 7.2.2 $project
  • 7.2.3 $group
  • 7.2.4 $unwind
  • 7.2.5 $sort
  • 7.2.6 $limit
  • 7.2.7 $skip
  • 7.2.8 使用管道
  • 7.3 MapReduce
  • 7.3.1 示例1:找出集合中的所有键
  • 7.3.2 示例2:网页分类
  • 7.3.3 MongoDB和MapReduce
  • 7.4 聚合命令
  • 7.4.1 count
  • 7.4.2 distinct
  • 7.4.3 group
  • 第8章 应用程序设计
  • 8.1 范式化与反范式化
  • 8.1.1 数据表示的例子
  • 8.1.2 基数
  • 8.1.3 好友、粉丝,以及其他的麻烦事项
  • 8.2 优化数据操作
  • 8.2.1 优化文档增长
  • 8.2.2 删除旧数据
  • 8.3 数据库和集合的设计
  • 8.4 一致性管理
  • 8.5 模式迁移
  • 8.6 不适合使用MongoDB的场景
  • 第三部分 复制
  • 第9章 创建副本集
  • 9.1 复制简介
  • 9.2 建立副本集
  • 9.3 配置副本集
  • 9.3.1 rs辅助函数
  • 9.3.2 网络注意事项
  • 9.4 修改副本集配置
  • 9.5 设计副本集
  • 选举机制
  • 9.6 成员配置选项
  • 9.6.1 选举仲裁者
  • 9.6.2 优先级
  • 9.6.3 隐藏成员
  • 9.6.4 延迟备份节点
  • 9.6.5 创建索引
  • 第10章 副本集的组成
  • 10.1 同步
  • 10.1.1 初始化同步
  • 10.1.2 处理陈旧数据
  • 10.2 心跳
  • 成员状态
  • 10.3 选举
  • 10.4 回滚
  • 如果回滚失败
  • 第11章 从应用程序连接副本集
  • 11.1 客户端到副本集的连接
  • 11.2 等待写入复制
  • 11.2.1 可能导致错误的原因
  • 11.2.2 "w"的其他值
  • 11.3 自定义复制保证规则
  • 11.3.1 保证复制到每个数据中心的一台服务器上
  • 11.3.2 保证写操作被复制到可见节点中的“大多数”
  • 11.3.3 创建其他规则
  • 11.4 将读请求发送到备份节点
  • 11.4.1 出于一致性考虑
  • 11.4.2 出于负载的考虑
  • 11.4.3 何时可以从备份节点读取数据
  • 第12章 管理
  • 12.1 以单机模式启动成员
  • 12.2 副本集配置
  • 12.2.1 创建副本集
  • 12.2.2 修改副本集成员
  • 12.2.3 创建比较大的副本集
  • 12.2.4 强制重新配置
  • 12.3 修改成员状态
  • 12.3.1 把主节点变为备份节点
  • 12.3.2 阻止选举
  • 12.3.3 使用维护模式
  • 12.4 监控复制
  • 12.4.1 获取状态
  • 12.4.2 复制图谱
  • 12.4.3 复制循环
  • 12.4.4 禁用复制链
  • 12.4.5 计算延迟
  • 12.4.6 调整oplog大小
  • 12.4.7 从延迟备份节点中恢复
  • 12.4.8 创建索引
  • 12.4.9 在预算有限的情况下进行复制
  • 12.4.10 主节点如何跟踪延迟
  • 12.5 主从模式
  • 12.5.1 从主从模式切换到副本集模式
  • 12.5.2 让副本集模仿主从模式的行为
  • 第四部分 分片
  • 第13章 分片
  • 13.1 分片简介
  • 13.2 理解集群的组件
  • 13.3 快速建立一个简单的集群
  • 第14章 配置分片
  • 14.1 何时分片
  • 14.2 启动服务器
  • 14.2.1 配置服务器
  • 14.2.2 mongos进程
  • 14.2.3 将副本集转换为分片
  • 14.2.4 增加集群容量
  • 14.2.5 数据分片
  • 14.3 MongoDB如何追踪集群数据
  • 14.3.1 块范围
  • 14.3.2 拆分块
  • 14.4 均衡器
  • 第15章 选择片键
  • 15.1 检查使用情况
  • 15.2 数据分发
  • 15.2.1 升序片键
  • 15.2.2 随机分发的片键
  • 15.2.3 基于位置的片键
  • 15.3 片键策略
  • 15.3.1 散列片键
  • 15.3.2 GridFS的散列片键
  • 15.3.3 流水策略
  • 15.3.4 多热点
  • 15.4 片键规则和指导方针
  • 15.4.1 片键限制
  • 15.4.2 片键的势
  • 15.5 控制数据分发
  • 15.5.1 对多个数据库和集合使用一个集群
  • 15.5.2 手动分片
  • 第16章 分片管理
  • 16.1 检查集群状态
  • 16.1.1 使用sh.status查看集群摘要信息
  • 16.1.2 检查配置信息
  • 16.2 查看网络连接
  • 16.2.1 查看连接统计
  • 16.2.2 限制连接数量
  • 16.3 服务器管理
  • 16.3.1 添加服务器
  • 16.3.2 修改分片的服务器
  • 16.3.3 删除分片
  • 16.3.4 修改配置服务器
  • 16.4 数据均衡
  • 16.4.1 均衡器
  • 16.4.2 修改块大小
  • 16.4.3 移动块
  • 16.4.4 特大块
  • 16.4.5 刷新配置
  • 第五部分 应用管理
  • 第17章 了解应用的动态
  • 17.1 了解正在进行的操作
  • 17.1.1 寻找有问题的操作
  • 17.1.2 终止操作的执行
  • 17.1.3 假象
  • 17.1.4 避免幽灵操作
  • 17.2 使用系统分析器
  • 17.3 计算空间消耗
  • 17.3.1 文档
  • 17.3.2 集合
  • 17.3.3 数据库
  • 17.4 使用mongotop和monogostat
  • 第18章 数据管理
  • 18.1 配置身份验证
  • 18.1.1 身份验证基本原理
  • 18.1.2 配置身份验证
  • 18.1.3 身份验证的工作原理
  • 18.2 建立和删除索引
  • 18.2.1 在独立的服务器上建立索引
  • 18.2.2 在副本集上建立索引
  • 18.2.3 在分片集群上建立索引
  • 18.2.4 删除索引
  • 18.2.5 注意内存溢出杀手
  • 18.3 预热数据
  • 18.3.1 将数据库移至内存
  • 18.3.2 将集合移至内存
  • 18.3.3 自定义预热
  • 18.4 压缩数据
  • 18.5 移动集合
  • 18.6 预分配数据文件
  • 第19章 持久性
  • 19.1 日记系统的用途
  • 19.1.1 批量提交写入操作
  • 19.1.2 设定提交时间间隔
  • 19.2 关闭日记系统
  • 19.2.1 替换数据文件
  • 19.2.2 修复数据文件
  • 19.2.3 关于mongod.lock文件
  • 19.2.4 隐蔽的异常退出
  • 19.3 MongoDB无法保证的事项
  • 19.4 检验数据损坏
  • 19.5 副本集中的持久性
  • 第六部分 服务器管理
  • 第 20 章 启动和停止MongoDB
  • 20.1 从命令行启动
  • 使用配置文件
  • 20.2 停止MongoDB
  • 20.3 安全性
  • 20.3.1 数据加密
  • 20.3.2 SSL安全连接
  • 20.4 日志
  • 第21章 监控MongoDB
  • 21.1 监控内存使用状况
  • 21.1.1 有关电脑内存的介绍
  • 21.1.2 跟踪监测内存使用状况
  • 21.1.3 跟踪监测缺页中断
  • 21.1.4 减少索引树的脱靶次数
  • 21.1.5 IO延迟
  • 21.1.6 跟踪监测后台刷新平均时间
  • 21.2 计算工作集的大小
  • 一些工作集的例子
  • 21.3 跟踪监测性能状况
  • 跟踪监测空余空间
  • 21.4 监控副本集
  • 第22章 备份
  • 22.1 对服务器进行备份
  • 22.1.1 文件系统快照
  • 22.1.2 复制数据文件
  • 22.1.3 使用mongodump
  • 22.2 对副本集进行备份
  • 22.3 对分片集群进行备份
  • 22.3.1 备份和恢复整个集群
  • 22.3.2 备份和恢复单独的分片
  • 22.4 使用mongooplog进行增量备份
  • 第23章 部署MongoDB
  • 23.1 设计系统结构
  • 23.1.1 选择存储介质
  • 23.1.2 推荐的RAID配置
  • 23.1.3 CPU
  • 23.1.4 选择操作系统
  • 23.1.5 交换空间
  • 23.1.6 文件系统
  • 23.2 虚拟化
  • 23.2.1 禁止内存过度分配
  • 23.2.2 神秘的内存
  • 23.2.3 处理网络磁盘的IO问题
  • 23.2.4 使用非网络磁盘
  • 23.3 系统配置
  • 23.3.1 禁用NUMA
  • 23.3.2 更智能地预读取数据
  • 23.3.3 禁用大内存页面
  • 23.3.4 选择一种磁盘调度算法
  • 23.3.5 不要记录访问时间
  • 23.3.6 修改限制
  • 23.4 网络配置
  • 23.5 系统管理
  • 23.5.1 时钟同步
  • 23.5.2 OOM Killer
  • 23.5.3 关闭定期任务
  • 附录A 安装MongoDB
  • A.1 选择一个版本
  • A.2 在Windows系统中安装
  • A.3 在POSIX系统(Linux、Mac OS X、Solaris)中安装
  • 附录B 深入MongoDB
  • B.1 BSON
  • B.2 线路协议
  • B.3 数据文件
  • B.4 命名空间与区段
  • B.5 内存映射存储引擎
  • 术语
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社·图灵出品

图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。