【问题标题】:Read from every node in MongoDB MongoAtlas从 MongoDB MongoAtlas 中的每个节点读取
【发布时间】:2020-12-12 07:30:24
【问题描述】:

我正在研究基于 NO-SQL 数据库的理论,尝试在 python 中实现一些示例。 到现在为止一切都清楚了,只是因为我已经尝试对集合进行一些简单的查询,遵循一些简单的教程。

现在我的问题是关于阅读。我的理解是 MongoDB 等 NO-SQL 数据库执行批量加载,尤其是在读取模式下。

现在我有一个包含 60K 推文的集合,我想从每个节点平等地读取。

这就是我想阅读的方式

  • 来自第一个节点(主节点)的 20K 条推文;
  • 来自第二个节点(第一个从节点)的 20K 条推文;
  • 来自第 3 个节点(第 2 个从属节点)的 20K 条推文;

是否可以在 MongoDB Atlas 中进行?如果是,我该如何实现?如何在 Python 中实现?

很抱歉这个问题,但我对这个话题有点陌生

【问题讨论】:

    标签: mongodb nosql pymongo


    【解决方案1】:

    副本集用于冗余,而不是负载平衡。当您从辅助节点读取数据时,您可能会收到陈旧的数据。通常,如果您需要当前数据,您总是会从主数据库中读取。

    如果您不需要当前数据,则可以从辅助数据中读取。一个用例是执行分析查询,这些查询 1) 昂贵 2) 通常在陈旧数据上仍然可以正常工作。在这种情况下,您可以指示特定节点对常规操作隐藏,并且专门用于分析查询。

    要在多个节点之间分配读取负载,您可以使用分片集群。

    【讨论】:

    • 好的,如何在 MongoDB Atlas 中使用分片集群实现跨多个节点的读取负载?
    • 您需要选择一个可以在分片之间均匀分布数据的分片键。
    • 有没有一个例子我可以看到如何做到这一点?抱歉,我是这个主题的新手,还不知道如何解决某些问题
    猜你喜欢
    • 1970-01-01
    • 2011-06-06
    • 2018-12-02
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多