物化视图客户案例

本文列举物化视图降低查询延迟时间、定时刷新视图和高效抽检报表的案例,介绍各行业如何通过物化视图解决自身业务上的挑战。

生意参谋降低查询延时案例

业务背景

生意参谋是阿里巴巴旗下为千万商家提供的一项重要产品服务,帮助商家及时分析店铺运营情况。尤其是在大促期间,面对突发的流量和海量的数据,数据分析尤为重要。

生意参谋基于AnalyticDB构建了一套大促期间小时粒度的全店诊断能力。多维度(展示门店+商品+渠道)下支付金额、支付件数、支付买家数、访客数、加购人数五大指标的整体诊断情况;展示行业实时排名,商家所处的同行同层排名;展示本店今日排名趋势,本店全天的排名变化趋势图等等。

业务效果

如果前端应用每次对小时级别的数据进行查询,AnalyticDB每次都对小时级别的数据做实时计算。这些计算会包含JOIN、GROUP BY等相对复杂运算,时间最少也要1秒。向商家展示当天24小时的数据就需要24秒,这个时间延迟比较久。

利用物化视图,可以大幅降低延迟时间。将每小时展示信息结果存储到物化视图中,每次查询只需要查询物化视图即可,平均每次查询时间降低至100毫秒。

生意参谋

自动化营销定时刷新视图案例

业务背景

某客户为鞋服类企业客户提供自动化营销服务。通常需要结合会员标签、库存信息等多种维度来运算报表,运算量较大且耗时较久。这样会影响报表的快速展示,不利于营销人员及时查询。同时,并发的大查询也会影响后台数据库稳定性。

业务效果

客户使用物化视图定时自动刷新功能,每天晚上定时刷新视图。视图中已有运算好的数据,利于快速查询,生成报表。同时利用定时刷新功能,客户可以节省额外任务调度系统的开销。

定时刷新

菜鸟物流高效抽检报表案例

业务背景

菜鸟物流是阿里巴巴旗下的重要业务,管理着成千上万的包裹。当包裹进入仓库后,很重要的一个环节是实时抽检,然后相关人员会定期查看近7天的抽检报表。报表会展示商品、抽检率、合格率、包裹数等各种指标。计算报表需要消耗大量计算资源,双十一大促时,报表生成的速度会很慢,当多人查看时,不时发送大查询到数据库也容易导致系统不稳定。

业务效果

使用物化视图将近7天的抽检报表数据保存下来,每次查看报表时只需要查询物化视图即可。物化视图按小时自动刷新,带上时间过滤条件即可,SQL如下所示:

CREATE MATERIALIZED VIEW xxx_report
REFRESH NEXT now + interval 1 hour
AS
SELECT ...
WHERE create_time >= select current_date() - interval 7 day

菜鸟物流