MongoDB独立版与副本集以及如何将数据从独立版迁移到副本集

时间:2019-04-04 07:45:27

标签: mongodb replication mongodb-replica-set

我对MongoDB独立版本和副本集有一些疑问,我真的不明白。

  • 什么时候应该使用它们
  • 为什么所有副本集教程都显示3个连接,这是有原因的吗?
  • 我只能为1个实例创建一个副本集吗?在那种情况下,它与独立的mongodb实例有何不同?
  • 如何将数据从独立实例迁移到副本集?

我要问的所有这些问题是因为最近我试图实现事务,而会话只能从“副本集”开始,而我并没有真正的区别。

1 个答案:

答案 0 :(得分:2)

  • 何时应使用它们中的任何一个?
  

复制是跨多个服务器同步数据的过程。复制提供了冗余,并通过不同数据库服务器上的多个数据副本提高了数据可用性。复制可防止数据库丢失单个服务器。复制还允许您从硬件故障和服务中断中恢复。使用其他数据副本,您可以将其专用于灾难恢复,报告或备份。

     
      
  • 确保数据安全
  •   
  • 高(24 * 7)数据可用性
  •   
  • 灾难恢复
  •   
  • 没有维护停机时间(例如备份,索引重建,压缩)。读取扩展(要读取的额外副本)
  •   
  • 副本集对应用程序是透明的
  •   
  • 为什么所有副本集教程都显示3个连接,有原因吗?
  

充分利用复制的基本实现可指定您   应该至少具有一个主节点和两个辅助节点。所以   示例始终带有3个节点。如果不是从3   主节点出现故障,您仍然有2个节点(mongoDB将分配   使用仲裁规则)和一个主节点和一个辅助节点以实现高可用性

  • 我只能为1个实例创建副本集吗?在这种情况下,它与独立的mongodb实例有何不同?
  

具有mongo复制的单个实例是没有意义的。

  • 如何将数据从独立实例迁移到副本集?
  

Convert a Standalone to a Replica Set。将现有数据从独立副本转换为复制集后,一旦它们启动并运行,它们就会迁移到所有复制实例。