序
10年前,没人能遇见互联网的发展给关系型数据库带来如此多的挑战。我在这个时期亲身经历了在快速发展的大型互联网公司应用
MySQL这一过程。开始时只有很少的数据,一台服务器就可以了。然后就得建立复制备份,以便应对大量的读取和不时的宕机。用不了多长时间,就得加一个缓
存层,调整所有的查询,投入更多的硬件。
最后,你会发现自己需要将数据切分到多个集群上,重新构建大量的应用逻辑以适应这种切分。之后不久,你就发现被自己数个月前设计的数据库结构限制住了。
怎么会呢?集群中大量的数据需要更改schema,这会花费很长时间,也需要DBA投入相当多的宝贵时间在上面。在代码中处理要简单一些。但也需要小型团队数月的努力。最后,你会不断地拷问自己有没有更好的方法,或者为什么没有在数据库核心提供更多诸如此类的功能呢?
为了应对现在web应用的数据膨胀,开源社区像以往一样提供了太多的“好方法”了。从内存型键值型存储到复杂的可以使用SQL的MySQL/InnoDB变种,无所不有。但选择多了做出正确的选择反而更难了。我自己就研究过其中多种。
MongoDB的实用性着实令人着迷。MongoDB并不去迎合所有人的全部需求。它在功能和复杂性之间取得很好的平衡,并且将原先十分复杂的任务大大
简化。也就是说,它具备支撑今天主流web应用的关键功能:索引,复制,分片,丰富的查询语法,特别灵活的数据模型。与此同时还不牺牲速度。
秉持MongoDB一样的风格,本书简洁明快。MongoDB新手先看第一章简介,马上就能上手。有经验的用户会得益于本书的广度和权威性。对于客户端API和高级的管理话题,如复制,备份和分片,本书都是权威参考手册。
因为我最近已经开始在日常工作中使用MongoDB了,所以我相信本书会成为从安装到生产部署分片和复制集群整个MongoDB之旅的好伙伴。任何想仔细研究使用MongoDB的人都会需要这本重要的参考书。
——Jeremy Zawodny,Craigslist软件工程师
目录
第1 章 简介 1
1.1 丰富的数据模型 1
1.2 容易扩展 1
1.3 丰富的功能 2
1.4 不牺牲速度 3
1.5 简便的管理 3
1.6 其他内容 3
第2 章 入门 5
2.1 文档 5
2.2 集合 6
2.2.1 无模式 6
2.2.2 命名 7
2.3 数据库 8
2.4 启动MongoDB 9
2.5 MongoDB Shell 10
2.5.1 运行shell 10
2.5.2 MongoDB 客户端 11
2.5.3 shell 中的基本操作 11
2.5.4 使用shell 的窍门 13
2.6 数据类型 15
2.6.1 基本数据类型 15
2.6.2 数字 17
2.6.3 日期 18
2.6.4 数组 19
2.6.5 内嵌文档 19
2.6.6 _id 和ObjectId 20
第3 章 创建、更新及删除文档 23
3.1 插入并保存文档 23
3.1.1 批量插入 23
3.1.2 插入:原理和作用 24
3.2 删除文档 24
3.3 更新文档 25
3.3.1 文档替换 26
3.3.2 使用修改器 27
3.3.3 Upsert 36
3.3.4 更新多个文档 38
3.3.5 返回已更新的文档 38
3.4 瞬间完成 41
3.4.1 安全操作 41
3.4.2 捕获“常规”错误 42
3.5 请求和连接 43
第4 章 查询 45
4.1 find 简介 45
4.1.1 指定返回的键 46
4.1.2 限制 46
4.2 查询条件 47
4.2.1 查询条件 47
4.2.2 OR 查询 47
4.2.3 $not 48
4.2.4 条件句的规则 49
4.3 特定于类型的查询 49
4.3.1 null 49
4.3.2 正则表达式 50
4.3.3 查询数组 51
4.3.4 查询内嵌文档 53
4.4 $where 查询 55
4.5 游标 56
4.5.2 避免使用skip 略过大量结果 58
4.5.3 高级查询选项 60
4.5.4 获取一致结果 61
4.6 游标内幕 63
第5 章 索引 65
5.1 索引简介 65
5.1.1 扩展索引 67
5.1.2 索引内嵌文档中的键 68
5.1.3 为排序创建索引 68
5.1.4 索引名称 69
5.2 唯一索引 69
5.2.1 消除重复 69
5.2.2 复合唯一索引 70
5.3 使用explain 和hint 70
5.4 索引管理 75
5.5 地理空间索引 76
5.5.1 复合地理空间索引 78
5.5.2 地球不是二维平面 78
第6 章 聚合 79
6.1 count 79
6.2 distinct 79
6.3 group 80
6.3.1 使用完成器 82
6.3.2 将函数做为键使用 84
6.4 MapReduce 84
6.4.1 例1:找出集合中的所有键 85
6.4.2 例2: 网页分类 87
6.4.3 MongoDB 和MapReduce 87
第7 章 进阶指南 91
7.1 数据库命令 91
7.1.1 命令的工作原理 92
7.1.2 命令参考 92
7.2 固定集合 95
7.2.1 属性及用法 96
7.2.2 创建固定集合 96
7.2.3 自然排序 97
7.2.4 尾部游标 98
7.3 GridFS:储存文件 99
7.3.1 开始使用GridFS:mongofiles 99
7.3.2 通过MongoDB 驱动程序操作GridFS 100
7.3.3 内部原理 100
7.4 服务器端脚本 101
7.4.1 db.eval 101
7.4.2 存储JavaScript 脚本 102
7.4.3 安全性 103
7.5 数据库引用 104
7.5.1 什么是DBRef 104
7.5.2 示例模式 104
7.5.3 驱动对DBRef 的支持 105
7.5.4 什么时候该使用DBRef 呢 106
第8 章 管理 107
8.1 启动和停止MongoDB 107
8.1.1 从命令行启动 107
8.1.2 配置文件 109
8.1.3 停止MongoDB 110
8.2 监控 110
8.2.1 使用管理接口 110
8.2.2 serverStatus 112
8.2.3 mongostat 113
8.2.4 第三方插件 113
8.3 安全和认证 114
8.3.1 认证的基础知识 114
8.3.2 认证的工作原理 115
8.3.3 其他安全考虑 116
8.4 备份和修复 116
8.4.1 数据文件备份 117
8.4.2 mongodump 和mongorestore 117
8.4.3 fsync 和锁 118
8.4.4 从属备份 119
8.4.5 修复 119
第9 章 复制 121
9.1 主从复制 121
9.1.1 选项 122
9.1.2 添加删除源 123
9.2 副本集 124
9.2.1 初始化副本集 125
9.2.2 副本集中的节点 127
9.2.3 故障切换和主节点选举 128
9.3 在从服务器上执行操作 129
9.3.1 读扩展 130
9.3.2 用从节点做数据处理 130
9.4 工作原理 130
9.4.1 oplog 131
9.4.2 同步 131
9.4.3 复制状态和本地数据库 132
9.4.4 阻塞复制 132
9.5 管理 133
9.5.1 诊断 133
9.5.2 变更oplog 的大小 134
9.5.3 认证复制 134
第10 章 分片 135
10.1 分片简介 135
10.2 MongoDB 中的分片 135
10.3 片键 137
10.3.1 将已有的集合分片 137
10.3.2 递增片键还是随机片键 137
10.3.3 片键对操作的影响 138
10.4 建立分片 139
10.4.1 启动服务器 139
10.4.2 切分数据 140
10.5 生产配置 140
10.5.1 健壮的配置 141
10.5.2 多个mongos 141
10.5.3 健壮的片 141
10.5.4 物理服务器 142
10.6 管理分片 142
10.6.1 配置集合 142
10.6.2 分片命令 143
第11 章 应用举例 145
11.1 化学品搜索引擎:Java 145
11.2 新闻聚合器:PHP 149
11.3 自定义提交表单:Ruby 154
11.4 实时分析: Python 157
附录A 安装MongoDB 163
附录B mongo:MongoDB shell 167
附录C 深入MongoDB 内部 169
样章见附件
- 第1、2章.pdf (1.3 MB)
- 描述: MongoDB权威指南样章
- 下载次数: 434
分享到:
相关推荐
但根据文件标题《MongoDB权威指南中文版.pdf》和描述内容,我可以推测读者想要了解的是关于MongoDB数据库系统的一些基础知识和概念。 MongoDB是一款流行的开源文档导向数据库系统(NoSQL),它以其高性能、高可用性...
《MongoDB权威指南》是一本深入解析该技术的专业书籍,旨在帮助读者全面理解和掌握MongoDB的使用。 本书首先从数据库的基础概念入手,介绍了NoSQL数据库与传统关系型数据库的区别,阐述了MongoDB作为文档数据库的...
"MongoDB权威指南"是学习和深入理解这一技术的重要参考资料,提供了全面的理论知识和实践经验。本书分为中文版和英文版,适合不同语言背景的读者,帮助他们掌握MongoDB的核心概念和操作技巧。 在中文版的《MongoDB...
英文版:MongoDB: The Definitive Guide内容简介《MongoDB权威指南》是一本广受好评的MongoDB方面的图书。与传统的关系型数据库不同,MongoDB是一种面向文档的数据库。书中介绍了面向文档的存储方式及利用MongoDB的...
在《MongoDB权威指南》这本书中,作者详细地介绍了MongoDB的基础知识、安装配置、数据模型、查询语言、操作管理以及高级特性。以下是对这本书中核心知识点的概述: 1. **MongoDB基础知识**:MongoDB是NoSQL数据库的...
### MongoDB权威指南知识点详解 #### 一、MongoDB概述 MongoDB是一款开源的NoSQL数据库系统,采用BSON(Binary JSON)格式存储文档数据。它支持动态查询、高可用性及横向扩展等特性,适用于大数据量的应用场景。...
《MongoDB权威指南》是一本全面深入探讨MongoDB数据库系统的专著,中文版的发布使得国内用户能够更方便地学习和理解这一强大的NoSQL数据库。MongoDB作为一种分布式文档型数据库,近年来在处理大规模数据存储和高并发...
MongoDB权威指南 第二版中文 mobi
MongoDB是一种流行的开源、分布式文档型数据库,常用于处理大规模数据。尽管随着MySQL等传统关系型...而《MongoDB权威指南》这样的资源,将帮助读者深入理解MongoDB的原理与实践,以便更好地利用这一强大的数据库技术。
通过阅读《MongoDB权威指南》这本书,你可以深入了解MongoDB的原理、安装与配置、数据模型设计、备份与恢复策略、性能调优、安全性等方面的知识,从而更好地运用MongoDB来解决实际问题。无论你是初学者还是经验丰富...
### MongoDB权威指南知识点总结 #### 一、MongoDB概述 - **定义与特点**:MongoDB是一种基于分布式文件存储的数据库系统,属于NoSQL数据库的一种。它将数据以BSON(Binary JSON)格式存储,这种格式类似于JSON文档...
综上所述,根据标题、描述、标签和部分内容所透露的信息,可以构建关于MongoDB权威指南(第二版)的知识点。这些知识点不仅涵盖了MongoDB的关键概念和操作,还涉及到了该书的出版信息和更新情况,这对于数据库管理员...
《MongoDB权威指南第2版》是深入理解和应用MongoDB的重要参考资料,书中详细介绍了MongoDB的基础知识、高级特性和最佳实践。 本书首先会讲解MongoDB的基本概念,包括数据库、集合、文档以及数据模型的设计。MongoDB...
这份"MongoDB权威指南高清中英文两版PDF"涵盖了MongoDB的基础到高级概念,是学习和掌握这一数据库系统的重要参考资料。 首先,中文版与英文版的结合使得无论对于初级还是高级用户,都能根据自己的语言习惯进行学习...
《MongoDB权威指南中文版》第1章 简介 第2章 入门 第3章 创建、更新及删除文档 第4章 查询 第5章 索引 第6章 聚合 第7章 进阶指南 第8章 管理 第9章 复制 第10章 分片 第11章 应用举例 附录A 安装MongoDB 附录B ...