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

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

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版本相关信息。

http://www.infoq.com/cn/news/2010/08/MongoDB-1.6

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值