在B2B中持续访问数据、多数据、多组件的缓存更新策略
04/16/2024
背景
众所周知,彼时我司是一个做数据分析的公司,最核心的业务就是搭建各种分析条件生成各种图表。
彼时在对接一个新的超级无敌大客户时,客户提着一张有上百条分析条件的报表来质问我们,为什么性能这么差!
我一头雾水,这不是前不久刚做过优化的嘛,怎么又被说性能差了呢?
先来说一下这部分的逻辑吧。
分析条件主要是由事件+统计方法+属性筛选构成,最简单的可以理解为:【充值金额大于100】的【充值事件】的【充值金额的不为空数】
当然上述的统计方法【充值金额的不为空数】其实可以表达为【总次数】,此处仅表示统计方法中也可以由统计属性来构成。
此外,还有复杂的分析条件,可以理解为【【简单的分析条件1】*【简单的分析条件2】-1000】,当然对于这条复杂的分析条件,也可以继续添加属性筛选。
这部分还有个逻辑,即事件之间能够选择的属性是交集,每个事件可以选择的筛选属性和统计属性也是不同集合。复杂的分析条件的筛选属性又是其中所有简单分析条件中事件的筛选属性的交集。
这要怎么做性能优化呢?