我正在为社交网络设计通知中心,我只是想将一个用户的通知存储在一个名为notification_ $ userid的集合中($ userid是动态的)。
对于这样的设计,我认为可以比仅将一个集合中的所有用户通知更快地读取和写入。但它有什么不利之处吗?或者对一个db的收集量有任何限制吗?
答案 0 :(得分:1)
我想你可能想重新考虑一下。 原因是无论noSQL数据库有多灵活,它仍然是巨大的。分片,如果你以后成长,你可能想考虑迁移到群集等。 我建议你在应用层解决这个任务。
我将如何做:
1)用户来,做一些通知其他用户的东西 2)此“手势”不作为通知存储在您的数据库中,而是存储在相关用户“notifiocations”单元格中。 3)用户的“noticifcations”单元类似于一个数组 - 在MongoDB中它是一个数组,你只需在那里存储对象
通过这种方式,您也可以在数据库中“个性化”您的通知,并避免使用“通知”集合。您唯一需要做的就是将该通知推送到相关用户“通知”数组中。