直接连接到主分片以访问MongoDB中的unshard集合

时间:2012-11-18 20:36:18

标签: mongodb

如果我有一个带有一些分片和非分片集合的数据库。 我可以直接连接到主分片来访问(包括读取和写入)unshard集合而没有任何问题吗? 我想这样做是因为我认为连接到mongos只会降低访问unshard集合的性能。

我试过这个并且它有效。但我担心这里有一些我不知道的问题。

1 个答案:

答案 0 :(得分:4)

  

如果我有一个带有一些分片和非分片集合的数据库。   我可以直接连接到主分片进行访问(包括读取   和写)不硬的收藏没有任何问题?我想要做   这是因为我认为连接到mongos只会降低性能   用于访问unshard集合。

一般情况下,通过mongos进行连接不会对未加密的集合产生显着的性能开销。

还值得注意的是,如果您的其他集合是分片的,那么您的应用程序将无法利用单个连接池来处理分片和非分片集合,因此您必须在应用程序逻辑中管理它。

  

我试过这个并且它有效。但我担心这里有一些我不知道的问题。

目前这种方法可行,因为未加密的集合总是存在于数据库的主分片上。

但是,请注意,正在开展工作以跨分片分发未加密的集合(请参阅MongoDB Jira问题跟踪器中的SERVER-939)。当发生这种变化时,你不能再认为未经加密的集合存在于主分片中,依靠mongos正确路由会更安全。