《MongoDB高手课》学习记录(第十五天)

第十五天

今天学习《18 | 设计模式集锦》,主要讲了列转行、版本字段、近似计算、预聚合四个文档设计模式和它的应用场景。干货很多。

列转行

以存储电影信息的文档为例,因为各个国家的首映时间不同,我们的最简单的想法可能为了统计方便,会每增加一个上映地点,就增加一个统计字段,然后再给这个字段建一个索引。这样统计查询的速度是快了,但是系统写入的效率却下降了。
《MongoDB高手课》学习记录(第十五天)_第1张图片

小结

《MongoDB高手课》学习记录(第十五天)_第2张图片

版本字段

文档模型的优势就是可以灵活的组织数据,但是面临的问题,就是到底什么时候对文档进行了更改,没办法直观的看出来。
《MongoDB高手课》学习记录(第十五天)_第3张图片

小结

《MongoDB高手课》学习记录(第十五天)_第4张图片

近似计算

要对一个页面的点击量进行统计,也就是埋点每点击一次,就更新一下统计数据,但通常我们的统计并不是要求非常精确的。这样造成的问题就是,系统大部分压力都产生在更新点击数量上了。
《MongoDB高手课》学习记录(第十五天)_第5张图片

小结

《MongoDB高手课》学习记录(第十五天)_第6张图片

预聚合

这个模式与上个相比就是要求统计精确的数据。比如销售业绩,游戏排名等,这样的,我们基本就是通过聚合计算来进行数据的汇总。但这样造成的问题就是每次统计都会造成系统计算压力过大。
《MongoDB高手课》学习记录(第十五天)_第7张图片

小结

《MongoDB高手课》学习记录(第十五天)_第8张图片

总结

今天课程就是讲解了这4个模式,看起来很简单,但想要用好,确实需要多多思考。明天开始事务的学习。

你可能感兴趣的:(mongodb)