MongoDB 3.2
这句话总结了我今天的生活:
我正在体验这句话所指的内容,因为我考虑了缩放类似线程的可能问题 - 消息关系如下例所示:
{
"_id" : ObjectId("2bjbkjb4234j134124"), //A ThreadID
"messages" : [
{
"_id": ObjectId("56a7b13f24236dea1247cdc7"),
"authorName" : "Nick",
"timestamp" : 1.453699391078E12,
"message" : "Hello"
},
... plus 50,000 more similar messages
]
},
...
我现在正在学习BSON文档限制可能会造成缩放破坏。
我最初假设使用横向缩放 - 像"消息"细分的线程文档将是一种逻辑关系(以编程方式访问消息并保持文档大小相对较小。)
但是,当你考虑像时间这样的因素(比如2年过去),或者你可以想象的任何其他原因时,总会有"消息"变得太大 - 然后突然间我们有一个破碎的结构,水平缩放(从我有限的角度来看)并没有解决。
我的问题:
你会如何主动防范这样的潜在破坏?你会推荐像" threadID"在每个人的内心 信息?或者我们可以在收集级别(抱歉,如果这听起来很愚蠢) - 创建动态名称(例如" messages.threadID1")?