MongoDB - 我应该将消息 collection 拆分为多于 1 个吗?
MongoDB - Should I split Messages collection in more than 1?
我有一个 Message
collection 看起来像这样;
Message {
userId,
text,
chatRoomId
}
collection 现在有超过 500 万个文档,而且还在快速增长。我应该将 collection 一分为二吗?喜欢 Message_1
& Message_2
...
请注意,collection 已编入索引并且速度非常快。我只是担心它是否会成为未来可能有 10 或 2000 万条消息的问题!
如果你把它分成两个集合,那么将如何搜索?先在collection1中搜索,再在collection2中搜索,然后合并?
这不是个好主意。请改为检查 sharding。它与拆分相同,不同之处在于一切都由 MongoDB 管理并且两个集合都驻留在不同的服务器上(只有当你确定你的所有内容中始终有一个密钥(比如 userId,称为分片密钥)时才使用它搜索。)
此外,即使对于 10 亿条记录,您也不需要分片或拆分。 MongoDB 非常有效(大多数其他数据库也是如此)。 10-2000 万条记录不是一个很大的数字,前提是您仅在索引字段上进行搜索,而不是在文本字段上使用某些文本搜索(如包含单词)
我有一个 Message
collection 看起来像这样;
Message {
userId,
text,
chatRoomId
}
collection 现在有超过 500 万个文档,而且还在快速增长。我应该将 collection 一分为二吗?喜欢 Message_1
& Message_2
...
请注意,collection 已编入索引并且速度非常快。我只是担心它是否会成为未来可能有 10 或 2000 万条消息的问题!
如果你把它分成两个集合,那么将如何搜索?先在collection1中搜索,再在collection2中搜索,然后合并?
这不是个好主意。请改为检查 sharding。它与拆分相同,不同之处在于一切都由 MongoDB 管理并且两个集合都驻留在不同的服务器上(只有当你确定你的所有内容中始终有一个密钥(比如 userId,称为分片密钥)时才使用它搜索。)
此外,即使对于 10 亿条记录,您也不需要分片或拆分。 MongoDB 非常有效(大多数其他数据库也是如此)。 10-2000 万条记录不是一个很大的数字,前提是您仅在索引字段上进行搜索,而不是在文本字段上使用某些文本搜索(如包含单词)