MongoDB 2.2每个数据库都有一个写锁定,而不是以前版本中服务器上的全局写锁定.如果我将每个集合存储在一个单独的数据库中,以便有效地为每个集合设置一个写锁定,那就没关系了.(这将使它看起来像MyISAM的表级锁定).这种方法有问题吗?
锁定有一个关键的限制,那就是local数据库.该数据库包括oplog用于复制的集合.
如果您正在生产中运行,则应该使用副本集运行.如果您正在使用副本集运行,则需要了解该数据库的写锁定效果.
将10个集合分解为10个数据库是没有用的,如果它们都阻止等待oplog.
在采取重大措施重写之前,请确保oplog不会导致问题.
另外,请注意MongoDB实现了DB级安全性.如果您正在使用任何安全功能,那么您现在可以创建更多安全数据库.