没有合适的资源?快使用搜索试试~ 我知道了~
MongoDB.The.Definitive.Guide.chapter10.sharding.试译
1星 需积分: 9 29 下载量 122 浏览量
2010-11-13
19:13:43
上传
评论
收藏 226KB PDF 举报
温馨提示
试读
9页
《MongoDB权威指南》第10章 分片 试译 MongoDB是一种NoSQL数据库,具备MySQL单表的大部分功能。web2.0的应用往往具有高写负载,单表数据量不断增长等特点。MongoDB是专门为解决这些问题而设计的。
资源推荐
资源详情
资源评论
第 10 章 分片
/*
版权归原作者
欢迎指出译文的问题 http://blog.163.com/aobbcn@126/
*/
分片是 MongoDB 扩展的方法 。 分片允许在不影响应用程序的情况下 , 通过增加机器来
处理不断增长的负载和数据。
介绍分片
分片是指把数据分割成不同部分,在不同的机器上存储的过程;术语 partitioning 有时
也用来描述这个概念 。 依靠分割数据到不同的机器 , 使得无需使用更强大的机器来存储更多
的数据和处理更大的负载。
几乎所有的数据库软件都可以使用手动分片 。 由应用程序与几个独立的不同的数据库服
务器保持连接 。 应用程序存储不同的数据到不同的数据库服务器上 , 并查询合适的数据库服
务器来取得数据 。 这种方式工作得很好 , 但是难以从集群中增加 、 移除结点或者改变数据的
分布、负载方式。
MongoDB 的自动分片
MongoDB 分片的基本原理是把集合分成更小的 chunks 。 这些 chunks 可以分散到不同 的
shards ,每个 shard 负责集合的一部分。我们不想让应用程序知道哪个分片有哪些数据,甚
至不想让应用程序知道数据被放到了不同的 shards 。 因此 , 我们在 shards 的前端运行一个路
由进程 mongos 。 这个路由进程知道所有的数据放在哪 , 应用程序连接 mongos , 并像平常一
样发起查询。
MongoDB 支持自动分片,消除了管理手动分片的麻烦。本书的剩余部分(包括大部 分
MongoDB 的文档)将交替使用分片和自动分片,但有必要注意自动分片与手动分片是不同
的。应用程序只要像连一个 mongod 连接 mongos 就可以了。知道哪些数据在哪些 shard 的
路由进程,可以转发请求到合适的 shard(s) 。路由进程收集响应并返回给应用程序。
在一个非分片的 MongoDB 配置中 , 你用一个客户端连接一个 mongod 进程 , 见图 10-1
。
在一个分片的配置中,见图 10-2 ,客户端连向 mongos 进程, mongos 使应用程序抽象于分
片 。 从应用程序的角度来看 , 一个分片的配置跟一个非分片的配置是一样的 。 当需要扩展时
,
没有必要更改应用程序的代码。
资源评论
- ojh882012-06-13居然是加密的,打不开!!晕
- du1110422014-11-26居然是加密的,打不开!!坑啊
shuitu
- 粉丝: 8
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功