牛叔叔 的笔记

好好学习

2023-01-31 12:25

近似值模式--MongoDB数据模型设计模式

牛叔叔

数据库

(469)

(0)

收藏

示例描述

淘宝在往年“双十一”都会有一个销售额大屏展示,当销售额小于 1 亿时,可能展示的是实际的数量,当销售额超过 1 亿时,单位立即变成以“亿”为单位,对于展示的大屏而言,”亿“以下的单位这个时候并不是很重要了。

对于上述的场景,如果每次几十、几百都直接去更新数据库中的实际值,则更新数据库会变得非常频繁,对于数据库的压力是非常大的。

实际上,并不需要每次都去更新数据库,我们只需要将这个实际的精确值存储在内存中,使用 1 亿作为一个阈值,一旦超过这个阈值就精确值更新进数据库中。

对于精度不是首要考虑因素时,那么就可以使用近似值模式,尤其是消耗资源(时间、内存、CPU 周期)非常昂贵时效果会更佳。

近似值模式就是通过减少数据的写入频率,从而降低了架构的复杂度和资源开销,进而提升了整体的性能与效率。

优缺点

近似值模式的优点如下:

  • 由于是近似的数据,不必时时刻刻写入,数据库的写操作量级更小

近似值模式的缺点如下:

  • 存储的是近似的数据,无法应对需要展示精确数据的场景

  • 此模式需要在应用层实现


0条评论

点击登录参与评论