我对在mongo中设计一个数据库有一个问题。
因此,系统通常会以不同的速率从不同的社交网站api (twitter、instagram api、fb )中不断收集用户数据(如喜欢、转发、浏览)。同时也将每小时的洞察力保存为历史数据。这些当前的实时洞察力应该被用户在网站上浏览。我是否应该将洞察力数据保存在缓存中,而历史洞察力数据保存在文档中?
发布于 2018-07-04 14:36:09
预期的写率和查询率是多少?数据集将以什么速度增长?这些关键问题将决定MongoDB集群的大小和拓扑结构。如果您的写入速率不超过单个节点的写入能力,那么您应该能够在单个复制集上托管数据。但是,这假设您的数据集并不大(>1TB)。在这种规模下,从单个节点故障中恢复可能很费时(它不会导致中断,但单个节点下降的时间越长,第二个节点失败的风险就越高)。
在这两种情况下(写入容量超过单个节点或数据集大于1TB),粗略的指导是,这是考虑[sharded cluster][2]的时候。分片集群的设计超出了单个StackOverflow答案的范围。
https://stackoverflow.com/questions/51155097
复制相似问题