BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

MongoDB 1.6增加了Sharding机制和副本集合特性

| 作者 Abel Avram 关注 7 他的粉丝 ,译者 张涛 关注 0 他的粉丝 发布于 2010年8月30日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

MongoDB 1.6是一个重要的版本,解决了水平扩展的问题,为自动故障转移和恢复提供了Sharding机制,并增加了副本集合的特性。

Sharding

MongoDB1.6的主要改进是可以通过Sharding进行水平扩展。MongoDB能快速的从多个Shard中自动分配数据库、集合或集合中的对象,而不需要停机。Sharding是非常合适的解决方案,因为在多数情况下,数据收集会比其它操作要频繁的多,没必要每次都去分配整个数据库。 

Sharding配置包含了Shard、路由进程、配置服务器,如下图所示:

 

image

mongod – 主数据库进程。它代表一个Shard并被放入副本集合,以提供故障自动转移。Mongod的进程之一在其副本集合中是主进程。如果主进程停掉,则委派其他服务器作为主进程。

mongos – 路由进程。它负责客户端和Sharded数据库进行交互,该数据库连接到一台独立服务器。如果必要的话,可以使用多个Mongos服务器,但它们不会共享状态。

config servers – 每个配置服务器包含了集群的元数据、系统中存在的Shard以及每个Shard中存放了什么样的数据块。安全起见,可以设置多个配置服务器。如果其中一个出现故障,配置服务器进入只读模式,但Shard会在读/写模式下继续运行。

Replica Sets

MongoDB 1.6的另一个主要特征是副本集合(Replica Sets),这时一个基于主/从复制机制的复制功能,但增加了自动故障转移和恢复特性。一个集群最多可以支持7个服务器,并且任意节点都可以是主节点。所有的写操作都被分发到主节点,而读操作可以在任何节点上进行。

其他改进

$or 查询──操作符$or在查询中支持布尔类型或表达式:

db.foo.find( { name : "bob" , $or : [ { a : 1 } , { b : 2 } ] } )

Window服务──Mongod可以作为一个服务运行在windows操作系统,但是Mongos不行

w选项──写操作可以被阻止,直到这个操作传播到集合内的多个服务器。

10gen是一个提供文件数据库支持的公司,该公司的共同创始人兼首席执行官Dwight Merriman提到,MongoDB 1.6已经被bit.lyfoursquare使用。bit.ly在高峰时段有50M用户使用,每个用户平均10K带宽的并发访问。Foursquare则拥有数百万的用户,从Postgres迁移到了Sharded MongoDB,并使用了地理空间索引。

MongoDB的发布说明Jira上包含了更多的1.6版本相关信息。

 

查看英文原文:MongoDB 1.6 Adds Sharding and Replica Sets

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT