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):
一种是备份组结构(Replica Set):
Master/Slaves结构很容易理解,Hadoop也是采用这种方式的。
下面说明下Replica Set结构:
step 1:
这是一个Set,包括3个节点,其中有一个为主控节点(也就是图中的Member 2 PRIMARY)
step 2:
如果主控节点崩溃了(也就是Member 2 挂了),这个时候会从Member1和Member2中选举出一个新的节点作为主控节点,
选举的策略是可以定制的,例如我可以定制当Member2挂了的时候,Member3就来作为主控节点,也可以根据别的策略筛选出一个节点
作为主控节点。
step 3:
Member 3成为主控节点后,如果Member 2重新启动的话,那么就只能作为从属节点了。
step 4:
Member 2 恢复后,一个Set就稳定下来了。
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
分享到:
相关推荐
在Windows环境中,搭建MongoDB的主从复制集群是一项常见的任务,以实现数据冗余和高可用性。以下是关于"单台windows搭建mongoDb主从集群"的知识点详细说明: 1. **主从复制(Replication)**: MongoDB的主从复制是...
- **监控与运维**:对MongoDB集群的性能监控和故障排查是关键,京东会使用专业的工具进行监控和维护,确保系统的稳定运行。 5. **未来发展趋势** - **云原生**:随着云技术的发展,京东可能会进一步将MongoDB迁移...
副本集(Replica Set)是MongoDB中的高可用性解决方案,通过在多个节点之间复制数据,确保了数据的冗余和容错性。下面我们将深入探讨MongoDB副本集的配置及其重要性。 **一、副本集的基本概念** 1. **主节点...
4. **Replication**:MongoDB 提供强大的复制功能,通过副本集确保数据冗余和高可用性。 5. **Sharding**:用于水平扩展,通过将数据分散在多个物理机器上(称为分片)来处理大数据量。 6. ** WiredTiger**:...
复制集是MongoDB的一个核心特性,它可以提供数据冗余和故障转移,确保数据的高可用性。 1. 创建复制集 要设置复制集,首先需要至少两个运行MongoDB的节点。在每个节点上,你需要配置其为复制集成员,并指定其他...
4. **副本集(Replication)**:MongoDB 提供了副本集功能,确保数据冗余和高可用性,当主节点出现故障时,可以无缝切换到备份节点。 5. ** WiredTiger 存储引擎**:从3.0版本开始,MongoDB 默认使用了WiredTiger...
- MongoDB的复制功能提供了数据的冗余和高可用性。 - 介绍了复制的基本概念和原理。 - 提供了副本集教程和复制配置的详细指南。 9. 分片(Sharding) - 分片是MongoDB用来水平扩展的关键机制。 - 详细解释了分...
- **MongoDB中的复制**:通过副本集实现数据冗余和负载均衡。 - **复制原理**:主节点负责接收写入操作,其他节点作为副本进行数据同步。 - **复制故障转移**:当主节点出现故障时,可以通过选举过程自动选出新的主...
2. 集群(Replication):通过复制集可以实现数据冗余和故障切换,提高可用性。 3. MapReduce:用于大规模数据处理,类似Hadoop的MapReduce模型,但更适应实时计算。 4. GridFS:MongoDB内置的文件系统,用于存储和...
3. **高可用性**:MongoDB通过复制集(Replication)实现高可用性,主从节点的设置确保了数据的冗余和故障切换。此外,还支持不同的一致性策略,如强一致性和弱一致性,以满足不同业务需求。 4. **水平可扩展性**:...
- **复制集(Replication)**:通过创建副本,提供数据冗余和故障恢复能力。 MongoDB 6.0.2可能引入了新的特性、性能优化和错误修复。用户应定期更新到最新稳定版本以获取最佳体验。在实际应用中,还需要考虑安全性...
- MongoDB Ops Manager:提供监控、备份、报警等功能,帮助运维人员管理MongoDB集群。 10. **最佳实践** - 设计模式:避免过于复杂的数据结构,保持文档大小适中,利于查询和更新。 - 性能监控:定期检查硬件...
如果目标端是mongo数据库,这意味着直接重播oplog,则就像一个同步工具,该工具用于将数据从源MongoDB复制到另一个MongoDB,以构建冗余复制或双活复制。 除了这种直接方式外,还有其他隧道类型,例如rpc,file,tcp...
**副本集**是MongoDB实现高可用的核心机制,它通过维护多个数据副本确保数据的冗余和容错。当主节点故障时,副本集能够自动选举新的主节点,保证服务不间断。副本集的优势包括: - **更高的可用性**:即使主节点...
MongoDB是一种分布式文档数据库,以其灵活性、高性能和易用性而受到广泛的欢迎。它属于NoSQL数据库家族,采用JSON格式的文档存储数据,这使得处理结构化和半结构化数据变得简单。本资料旨在帮助新手深入理解MongoDB...
1. **复制集(Replication)**: MongoDB的复制集功能允许数据在多个节点之间复制,提供冗余和故障转移能力。在2.0.1中,复制集的性能和稳定性得到了进一步优化,使得在主节点故障时,可以快速无损地切换到副本节点。...
- **复制(Replication)**:提供数据冗余和故障恢复机制。 - **Master-Slave模式**:主节点负责读写操作,从节点只读并用于负载均衡。 - **Replica Pairs模式**:两个节点相互备份。 - **受限的Master-Master...
4. **启动分片服务器**:在分片服务器上启动MongoDB实例,使用`--shardsvr`选项表明它们是分片服务器。 5. **启动副本集**:在每个分片服务器上配置副本集,包括设置副本集名称,添加初始成员,并在每个成员上运行`...
6. **复制集(Replication)**:理解MongoDB的复制集概念,它是实现数据冗余和高可用性的重要方式。会涉及选举、故障切换、读写策略等内容。 7. **分片(Sharding)**:当数据量大到单台服务器无法处理时,需要使用...
4. **持久性**: 一旦事务提交,它对数据库所做的修改将会永久保存下来,即使系统发生故障也不会丢失。 #### 三、Redis与MySQL的区别 **Redis**: - **内存数据库**: 数据存储在内存中,因此访问速度极快。 - **非...