`
chakey
  • 浏览: 364403 次
  • 性别: Icon_minigender_1
  • 来自: 水星
社区版块
存档分类
最新评论

【4】MongoDB集群的冗余机制(Replication)

阅读更多

 

MongoDB集群的冗余机制(Replication)

 

优点:

1:Mongo是一个面向文档的JSON数据库,被设计为一个真正的对象数据库,而不是一个纯粹的键/值存储。

2:MongoDB适合用来描述一个具有个性化特征的实体对象正,快速无阻塞的数据数据并行写入功能以及丰富的查询功能是MongoDB的亮点,

对于实时分析、logging、全文搜索这样的场景是合适的选择。

3:Mongodb的内存映射文件机制以及schema-free的特点,让我们可以保持高速添加数据,不用担心数据库会出现堵塞。

4:MongoDB支持非常丰富的查询功能。几乎常用的SQL功能在它里面都有相应的方法来实现。而且支持索引,能够根据某一列进行WHERE条件快速筛选。

 

缺点:

1:占用空间过于虚高,原来1G的flatfile它需要4倍的磁盘空间存储。

2:mongodb的sharding到现在为止仍不太成熟。

 

MongoDB支持数据异步复制,增加数据的冗余,支持故障切换。

目前数据备份和后援支持结构有两种:

一种是主/从结构(Master/Slave Replication):

 

Master-Slaves

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一种是备份组结构(Replica Set):

replica-set

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Master/Slaves结构很容易理解,Hadoop也是采用这种方式的。

下面说明下Replica Set结构:

step 1:

这是一个Set,包括3个节点,其中有一个为主控节点(也就是图中的Member 2 PRIMARY)

replica-set-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

step 2:

如果主控节点崩溃了(也就是Member 2 挂了),这个时候会从Member1和Member2中选举出一个新的节点作为主控节点,

选举的策略是可以定制的,例如我可以定制当Member2挂了的时候,Member3就来作为主控节点,也可以根据别的策略筛选出一个节点

作为主控节点。

 

replica-set-2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

step 3:

Member 3成为主控节点后,如果Member 2重新启动的话,那么就只能作为从属节点了。

replica-set-3

 

step 4:

Member 2 恢复后,一个Set就稳定下来了。

replica-set-4

 

Replica-Set 配置过程请查看:

http://datalife.iteye.com/blog/805201

 

那么在什么情况下采用M/S结构?什么情况下采用Replica-Set结构?需要选择哪一种呢?

1:如果你使用的mongodb版本小于1.6的话(<v1.6),选择M/S结构;

2:如果需要自动化故障切换和后备支援的话,使用Replica-Set(管理起来很方便);

3:如果使用了--auth(出于安全的原因) 或者 --slavedelay的话,目前推荐使用M/S;

4:如果使用分片,Replica-Set是很适合使用的,特比是对于比较大的集群,效果更好;

 

MongoDB如何安装(Linux下)?

请查看:

http://datalife.iteye.com/admin/blogs/802336

 

单机安装MongoDB集群?

请查看:

http://datalife.iteye.com/admin/blogs/804223

 

MongoDB查询语句和MySQL有何差异?

请查看:

http://datalife.iteye.com/admin/blogs/804762

 

[欢迎转载,最好注明出处]

 

 

 

  • 大小: 9.3 KB
  • 大小: 15.4 KB
  • 大小: 7.8 KB
  • 大小: 7.6 KB
  • 大小: 8.9 KB
  • 大小: 7.8 KB
4
0
分享到:
评论
2 楼 liuyuanhui0301 2013-01-30  
     
1 楼 coldrush 2013-01-24  
好文。感谢作者的贡献。

相关推荐

    单台windows搭建mongoDb主从集群

    在Windows环境中,搭建MongoDB的主从复制集群是一项常见的任务,以实现数据冗余和高可用性。以下是关于"单台windows搭建mongoDb主从集群"的知识点详细说明: 1. **主从复制(Replication)**: MongoDB的主从复制是...

    MongoDB在京东的使用

    - **监控与运维**:对MongoDB集群的性能监控和故障排查是关键,京东会使用专业的工具进行监控和维护,确保系统的稳定运行。 5. **未来发展趋势** - **云原生**:随着云技术的发展,京东可能会进一步将MongoDB迁移...

    mongdb副本集结构的配置

    副本集(Replica Set)是MongoDB中的高可用性解决方案,通过在多个节点之间复制数据,确保了数据的冗余和容错性。下面我们将深入探讨MongoDB副本集的配置及其重要性。 **一、副本集的基本概念** 1. **主节点...

    mongodb-5.0.6

    4. **Replication**:MongoDB 提供强大的复制功能,通过副本集确保数据冗余和高可用性。 5. **Sharding**:用于水平扩展,通过将数据分散在多个物理机器上(称为分片)来处理大数据量。 6. ** WiredTiger**:...

    同步Mongodb数据库.zip_MongoDB_Mongodb 同步数据库

    复制集是MongoDB的一个核心特性,它可以提供数据冗余和故障转移,确保数据的高可用性。 1. 创建复制集 要设置复制集,首先需要至少两个运行MongoDB的节点。在每个节点上,你需要配置其为复制集成员,并指定其他...

    mongodb-linux-x86_64-suse11-3.0.4 (1)

    4. **副本集(Replication)**:MongoDB 提供了副本集功能,确保数据冗余和高可用性,当主节点出现故障时,可以无缝切换到备份节点。 5. ** WiredTiger 存储引擎**:从3.0版本开始,MongoDB 默认使用了WiredTiger...

    MongoDB-manual.pdf

    - MongoDB的复制功能提供了数据的冗余和高可用性。 - 介绍了复制的基本概念和原理。 - 提供了副本集教程和复制配置的详细指南。 9. 分片(Sharding) - 分片是MongoDB用来水平扩展的关键机制。 - 详细解释了分...

    mongodb搭建,shell操作,索引,副本集

    - **MongoDB中的复制**:通过副本集实现数据冗余和负载均衡。 - **复制原理**:主节点负责接收写入操作,其他节点作为副本进行数据同步。 - **复制故障转移**:当主节点出现故障时,可以通过选举过程自动选出新的主...

    mongodb-linux-x86_64-rhel70-3.6.1.tgz

    2. 集群(Replication):通过复制集可以实现数据冗余和故障切换,提高可用性。 3. MapReduce:用于大规模数据处理,类似Hadoop的MapReduce模型,但更适应实时计算。 4. GridFS:MongoDB内置的文件系统,用于存储和...

    MongoDB数据库介绍.pptx

    3. **高可用性**:MongoDB通过复制集(Replication)实现高可用性,主从节点的设置确保了数据的冗余和故障切换。此外,还支持不同的一致性策略,如强一致性和弱一致性,以满足不同业务需求。 4. **水平可扩展性**:...

    mongodb-windows-x86-64-6.0.2.zip

    - **复制集(Replication)**:通过创建副本,提供数据冗余和故障恢复能力。 MongoDB 6.0.2可能引入了新的特性、性能优化和错误修复。用户应定期更新到最新稳定版本以获取最佳体验。在实际应用中,还需要考虑安全性...

    2021MongoDB中文社区杭州大会干货分享版.rar

    - MongoDB Ops Manager:提供监控、备份、报警等功能,帮助运维人员管理MongoDB集群。 10. **最佳实践** - 设计模式:避免过于复杂的数据结构,保持文档大小适中,利于查询和更新。 - 性能监控:定期检查硬件...

    MongoShake:MongoShake is a universal data replication platform based on MongoDB's oplog. Redundant replication and active-active replication are two most important functions. 基于mongodb oplog的集群复制工具,可以满足迁移和同步的需求,进一步实现灾备和多活功能

    如果目标端是mongo数据库,这意味着直接重播oplog,则就像一个同步工具,该工具用于将数据从源MongoDB复制到另一个MongoDB,以构建冗余复制或双活复制。 除了这种直接方式外,还有其他隧道类型,例如rpc,file,tcp...

    MongoDB原生高可用及分布式能力解析.pptx

    **副本集**是MongoDB实现高可用的核心机制,它通过维护多个数据副本确保数据的冗余和容错。当主节点故障时,副本集能够自动选举新的主节点,保证服务不间断。副本集的优势包括: - **更高的可用性**:即使主节点...

    mongodb资料

    MongoDB是一种分布式文档数据库,以其灵活性、高性能和易用性而受到广泛的欢迎。它属于NoSQL数据库家族,采用JSON格式的文档存储数据,这使得处理结构化和半结构化数据变得简单。本资料旨在帮助新手深入理解MongoDB...

    mongodb-win32-x86_64-2.0.1

    1. **复制集(Replication)**: MongoDB的复制集功能允许数据在多个节点之间复制,提供冗余和故障转移能力。在2.0.1中,复制集的性能和稳定性得到了进一步优化,使得在主节点故障时,可以快速无损地切换到副本节点。...

    MongoDB & Redis

    - **复制(Replication)**:提供数据冗余和故障恢复机制。 - **Master-Slave模式**:主节点负责读写操作,从节点只读并用于负载均衡。 - **Replica Pairs模式**:两个节点相互备份。 - **受限的Master-Master...

    share_rs.rar

    4. **启动分片服务器**:在分片服务器上启动MongoDB实例,使用`--shardsvr`选项表明它们是分片服务器。 5. **启动副本集**:在每个分片服务器上配置副本集,包括设置副本集名称,添加初始成员,并在每个成员上运行`...

    MongoDB_online_course

    6. **复制集(Replication)**:理解MongoDB的复制集概念,它是实现数据冗余和高可用性的重要方式。会涉及选举、故障切换、读写策略等内容。 7. **分片(Sharding)**:当数据量大到单台服务器无法处理时,需要使用...

    数据库面试题.pdf

    4. **持久性**: 一旦事务提交,它对数据库所做的修改将会永久保存下来,即使系统发生故障也不会丢失。 #### 三、Redis与MySQL的区别 **Redis**: - **内存数据库**: 数据存储在内存中,因此访问速度极快。 - **非...

Global site tag (gtag.js) - Google Analytics