牛叔叔 的笔记

好好学习

2023-01-31 12:30

计算模式--MongoDB数据模型设计模式

牛叔叔

数据库

(454)

(0)

收藏

示例描述

对于大型数据集,每一次计算都可能会占用极大的 CPU、磁盘、内存等相关资源,甚至是影响到服务器上的其他计算。

而对于需要重复计算、读取比写入多的场景,计算模式提供了一种优化的思路,以便降低服务器资源的占用。

拿一个电影观看总人数的例子来说明:假设现在页面上需要展示观看电影的实际总人数,而且这个页面会有成千上万的人访问。

虽然,我们可以对电影的每一次放映都记录起观看人数,但是要获取总人数,则需要拿出所有的放映场次的观看人数之后计算其总和,这个计算就非常耗费资源和时间。

对于只有放映场次变化之后,总人数才会更新的情况,实际数据库读取的次数远远大于写入的次数。

MongoDB 的计算模式

在这个场景中,计算模式的思路是:每一次更新放映场次数据的时候,将这个放映场次的人数汇总到一个文档当中,这个文档直接面向用户的查询。

优缺点

计算模式的优点如下:

  • 对于频繁的计算可以减少 CPU 的负载

  • 查询变得更容易编写,而且通常更快

计算模式的缺点如下:

  • 识别出需要使用此模式的的场景可能比较困难

  • 除非必要,请勿过度使用此模式


0条评论

点击登录参与评论