【问题标题】:AWS EFS Elastic file system with MongoDB replica set具有 MongoDB 副本集的 AWS EFS 弹性文件系统
【发布时间】:2016-10-03 20:17:35
【问题描述】:

我有三个 EC2 实例,每个实例都有自己的 MongoDB,并且它们连接在一个副本集中。

因为 EFS 可以跨多个 EC2 实例共享,所以我想知道三件事...

  1. 如果磁盘上的数据已经在所有三个实例之间有效共享,那么 MongoDB 实例是否仍需要连接到副本集? (我担心的是 Mongo DB 的 RAM 中有什么,每个 Mungo DB 实例都不会“知道”它有什么数据,或者如果直接将数据放入磁盘会省略一个重要的“索引”步骤)

    李>
  2. 从性能的角度来看,如果我们只需要向文件系统写入一次,最好不要让 MongoDB 向 N 个不同的实例写入 N 次相同的东西?

  3. 为了确保一切都是“安全的”,我是否应该将每个 EC2 实例都安装到其自己的 EFS 上,而不关心上述 2 个问题? (在这种情况下,成本将是每 GB 成本的 N 倍)

【问题讨论】:

    标签: mongodb amazon-ec2 amazon-efs


    【解决方案1】:
    1. 首先,永远不要这样做。数据库系统通常会锁定它们正在使用的数据文件。这样他们就可以控制何时以及如何将数据实际写入磁盘。您可以通过使用网络文件系统来绕过这种锁定机制,但您不应该这样做。您将对数据损坏敞开心扉。如果你一开始就可以让它工作的话。

    2. 请参阅第 1 点,您将损坏数据。副本旨在提高数据的读取性能和可用性。

    3. 你真的不需要为 Mongo 使用 EFS。如果您需要更高的写入性能,使用副本和/或分片效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-29
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 2021-06-08
      • 1970-01-01
      • 2018-09-26
      • 1970-01-01
      相关资源
      最近更新 更多