Mongodb 在mongoengine中使用分片mongo db与使用多个数据库和switch_db函数

Mongodb 在mongoengine中使用分片mongo db与使用多个数据库和switch_db函数,mongodb,mongoengine,sharding,database,Mongodb,Mongoengine,Sharding,Database,对于我的新应用程序,我计划在多个mongo数据库上实现定制分发。使用switch_db的mongoengine能很好地扩展吗 我使用的是tornado服务器 更多信息 (生成我的用户标识(uid),以便它们属于我的数据库服务器中的特定数据库。) 两个用户之间的消息uid1,uid2我将获取最小的uid,并获取该uid的特定服务器,所有这些消息都将进入该服务器。这不是一个很好的例子,但忘记了我想知道的实际数据分布情况,在mongoengine中使用switch_db函数和自定义分布与mongodb

对于我的新应用程序,我计划在多个mongo数据库上实现定制分发。使用switch_db的mongoengine能很好地扩展吗

我使用的是tornado服务器

更多信息

(生成我的用户标识(uid),以便它们属于我的数据库服务器中的特定数据库。)

两个用户之间的消息uid1,uid2我将获取最小的uid,并获取该uid的特定服务器,所有这些消息都将进入该服务器。这不是一个很好的例子,但忘记了我想知道的实际数据分布情况,在mongoengine中使用switch_db函数和自定义分布与mongodb默认分片相比,在可伸缩性或任何主要缺点方面。我觉得当我完成我的申请时,将会有更大的控制。任何有帮助的想法都将不胜感激


我想使用基于应用程序的分片的具体原因是,我的数据非常面向标记,实际上没有对数据进行扫描。

除非您有确切的原因,否则我建议使用mongodb分片。这就像是重新创建自己的内存管理器,而不是重新使用经过测试的东西,对绝大多数用户来说效果很好

更重要的是,您将能够跨所有数据(在所有碎片中)执行查询访问,而不是自己在较小的查询中拆分查询