【问题标题】:MongoDB database listings different between mongos and replica setMongoDB 数据库列表在 mongos 和副本集之间有所不同
【发布时间】:2017-07-30 17:10:14
【问题描述】:

请看下面我的查询,我在 mongos/router 服务器上运行了 [show dbs] 并给了我 与在副本集服务器上运行相同命令的结果不同:

正如您在下面看到的,某些数据库(例如 [clients])在 RS 服务器中,但不在 Mongos 服务器中,反之亦然.. 还有一些类似的数据库大小不同.. 为什么?

我正在将这些数据库迁移到 AWS,我对需要迁移哪些数据库感到困惑?以及其中一些数据库的大小 - 例如,从 RS 服务器列出的数据库 [ device1 ] 为 0.156GB,但它是 0.078 GB 从 RS 服务器列出时..

这实际上是一个生产系统,如果出现问题,我会担心。我应该在哪里查看以获取有关我要迁移到 AWS 的数据库的准确信息?以及如何知道正在使用的数据库和未使用的数据库..

我是一名 Oracle DBA,我是 Mongo 的新手,非常感谢您提供的所有建议和建议,以便在我开始迁移过程之前清楚地了解这些数据库。如果我能找到有关如何将副本集 DB 迁移到新硬件(例如 AWS)的详细说明,那也会很有帮助。

**>> From MongoS**
mongos> show dbs
admin                (empty)
config               0.063GB
dev-mgt              0.453GB
device1              0.156GB
rtime                0.203GB
zales                83.767GB
site                 0.953GB
eedb                 (empty)
test                 (empty)


**From RS server**
rs0:PRIMARY> show dbs
admin           (empty)
config          (empty)
Device1         0.078GB
clients         86.036GB    
rtime           0.203GB
zales           83.767GB
test            (empty)

请指教。谢谢!

【问题讨论】:

    标签: mongodb database


    【解决方案1】:

    并非所有收藏都被分片。如果您有一个未分片的集合,并且您在辅助分片上查找它,您将找不到它。非分片集合只会进入一个副本集。您应该始终通过您的 mongos 实例来浏览您的数据库和数据。

    来自documentation:

    主分片

    每个数据库都有一个“主”1 分片,其中包含所有未分片的 该数据库中的集合。

    【讨论】:

    • @Faris,如果它回答了你的问题,你可以点击复选标记
    猜你喜欢
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-22
    • 1970-01-01
    相关资源
    最近更新 更多