我有几个问题关于 MongoDB 独立服务器和副本集,我不是很明白。
- 何时应该使用它们?
- 为什么所有的副本集教程都显示 3 个连接?这有原因吗?
- 我可以为仅有一个实例创建一个副本集吗?在这种情况下,它与独立的 MongoDB 实例有何不同?
- 如何从独立的实例迁移数据到副本集?
我问这些问题是因为最近我试图实现事务,但会话只能在“副本集”上启动,但我真的不明白两者之间的区别。
我有几个问题关于 MongoDB 独立服务器和副本集,我不是很明白。
我问这些问题是因为最近我试图实现事务,但会话只能在“副本集”上启动,但我真的不明白两者之间的区别。
复制是将数据同步到多个服务器的过程。复制提供冗余并增加了不同数据库服务器上数据的可用性。复制保护数据库免受单个服务器的损失。复制还允许您从硬件故障和服务中断中恢复。有了额外的数据副本,您可以将其中一个用于灾难恢复、报告或备份。
- 为了保护您的数据安全
- 高(24*7)数据可用性
- 灾难恢复
- 没有维护停机时间(如备份、索引重建、压缩),读取扩展(额外的副本供阅读)
- 副本集对应用程序是透明的
利用复制完全的实现至少需要一个主节点和两个从节点。因此,示例始终包含3个节点。此外,如果从3个节点中,主节点崩溃,仍然有2个节点(mongoDB将使用仲裁者规则),一个主节点和一个辅助节点以提供高可用性。
使用mongo复制来处理单个实例没有意义。
将单机转换为副本集。一旦从单机转换为副本集并开始运行,现有数据将迁移到所有副本实例中。