内容简介:
mongodb如何帮你管理通过web应用收集的海量数据呢?通过本书的权威解读,你会了解面向文档数据库的诸多优点,会发现mongodb如此稳定、性能优越甚至能够无限水平扩展背后的原因。
《mongodb权威指南》的两位作者来自开发并支持开源数据库mongodb的公司10gen。数据库开发人员可将此书作为参考指南,系统管理员可以从本书中找到高级配置技巧,其他用户可以了解一些基本概念和用例。你会发现,将数据组织成自包含的json风格的文档比组织成关系型数据库中的记录要容易得多。
作者简介:
KristinaccChodorow
13310gen的软件工程师,2MongoDB项目的核心成员.a负责数据库服务器、PHP驱动、Perl驱动等模块.a她曾在世界级的大会上发言,2包括OSCON、LinuxCon、FOSDEM和Latinoware.a
目录:
第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 启动mongodb9
2.5 mongodb shell10
2.5.1 运行shell10
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 upsert36
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 $not48
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 和hint70
5.4 索引管理75
5.5 地理空间索引76
5.5.1 复合地理空间索引78
5.5.2 地球不是二维平面78
第6 章 聚合 79
6.1 count 79
6.2 distinct79
6.3 group 80
6.3.1 使用完成器82
6.3.2 将函数做为键使用84
6.4 mapreduce84
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:mongofiles99
7.3.2 通过mongodb 驱动程序操作gridfs100
7.3.3 内部原理100
7.4 服务器端脚本101
7.4.1 db.eval101
7.4.2 存储javascript 脚本102
7.4.3 安全性103
7.5 数据库引用 104
7.5.1 什么是dbref104
7.5.2 示例模式104
7.5.3 驱动对dbref 的支持 105
7.5.4 什么时候该使用dbref 呢106
第8 章 管理 107
8.1 启动和停止mongodb107
8.1.1 从命令行启动107
8.1.2 配置文件109
8.1.3 停止mongodb 110
8.2 监控 110
8.2.1 使用管理接口110
8.2.2 serverstatus112
8.2.3 mongostat113
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 和mongorestore117
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 oplog131
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 化学品搜索引擎:java145
11.2 新闻聚合器:php149
11.3 自定义提交表单:ruby154
11.4 实时分析: python157
附录a 安装mongodb 163
附录b mongo:mongodb shell 167
附录c 深入mongodb 内部 169