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

2010 年 8 月 29 日

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

Sharding

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

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

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.ly foursquare 使用。 bit.ly 在高峰时段有 50M 用户使用,每个用户平均 10K 带宽的并发访问。Foursquare 则拥有数百万的用户,从 Postgres 迁移到了 Sharded MongoDB,并使用了地理空间索引。

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

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

2010 年 8 月 29 日 10:312716

评论

发布
暂无评论
发现更多内容

Truncate用法详解

Simon

MySQL

区块链交易所系统开发内容,数字货币交易所搭建

13530558032

教你用SQL实现统计排名

Simon

MySQL

基于ALBERT的文本相似度解决方案

华宇法律科技

人工智能 自然语言处理 Pytho

ARTS 打卡第二周(200518-200524)

老胡爱分享

ARTS 打卡计划

Axure导出为PDF

波菠菜

巧用SQL拼接语句

Simon

MySQL sql

程序员不愿996,创建6个涉黄平台,涉案5000余万元!

程序员生活志

程序员

非IT行业大企程序员讲述MIS系统开发案例

Philips

Java 企业信息化 .net core 计算机程序设计艺术 企业开发

JeecgBoot手记

卧石漾溪

朱嘉明 算力革命背后是分配制度革命 没有算力就没有未来

CECBC区块链专委会

区块链 数字货币 数字经济

从雕像到肖像画,这位设计师用 GAN 和 PS 复原了他眼中的古罗马皇帝「群像」

程序员生活志

高频面试题——你真的搞懂物理内存与虚拟内存了吗

大柚子

操作系统 内存管理 虚拟内存 物理内存

当地铁站都比你更努力

escray

学习 面试 面试现场

ARTS 打卡第三周(200525-200531)

老胡爱分享

ARTS 打卡计划

马方业:区块链就是新未来 区块链就是新财富

CECBC区块链专委会

区块链 新未来 新财富

ARTS 挑战打卡第七周(200622-200628)

老胡爱分享

ARTS 打卡计划

深圳区块链支付系统开发,USDT支付系统服务商

13530558032

交易所合约跟单开发方,数字资产合约跟单系统搭建

13530558032

ARTS 打卡第四周(200601-200607)

老胡爱分享

ARTS 打卡计划

定时任务最简单的3种实现方法(超实用)

王磊

Java 定时任务

企业信息化到底重不重要?

代码制造者

低代码 零代码 信息化 编程开发 运营管理

一个人的精益

escray

学习 面试 面试现场

一文讲透布隆过滤器

flyer0126

布隆过滤器

Redis追命连环问,你能回答到第几问?(上)Redis简介,数据类型及缓存雪崩缓存击穿缓存穿透

大柚子

Java redis 缓存 面试 后端

Python处理邮件和机器人的实用姿势

程一初

Python 自动化 办公

浅谈备受开发者好评的.NET core敏捷开发工具,讲讲LEARUN工作流引擎

Learun

工作流 开发工具 计算机程序设计艺术 表单

MySQL如何快速插入数据

Simon

MySQL 数据库

小米的护城河

石云升

小米 护城河

ARTS挑战打卡第五周(200608-200614)

老胡爱分享

ARTS 打卡计划

ARTS挑战打卡第六周(200615-200621)

老胡爱分享

ARTS 打卡计划

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