物化視圖客戶案例
本文列舉物化視圖降低查詢延遲時(shí)間、定時(shí)刷新視圖和高效抽檢報(bào)表的案例,介紹各行業(yè)如何通過(guò)物化視圖解決自身業(yè)務(wù)上的挑戰(zhàn)。
生意參謀降低查詢延時(shí)案例
業(yè)務(wù)背景
生意參謀是阿里巴巴旗下為千萬(wàn)商家提供的一項(xiàng)重要產(chǎn)品服務(wù),幫助商家及時(shí)分析店鋪運(yùn)營(yíng)情況。尤其是在大促期間,面對(duì)突發(fā)的流量和海量的數(shù)據(jù),數(shù)據(jù)分析尤為重要。
生意參謀基于AnalyticDB構(gòu)建了一套大促期間小時(shí)粒度的全店診斷能力。多維度(展示門店+商品+渠道)下支付金額、支付件數(shù)、支付買家數(shù)、訪客數(shù)、加購(gòu)人數(shù)五大指標(biāo)的整體診斷情況;展示行業(yè)實(shí)時(shí)排名,商家所處的同行同層排名;展示本店今日排名趨勢(shì),本店全天的排名變化趨勢(shì)圖等等。
業(yè)務(wù)效果
如果前端應(yīng)用每次對(duì)小時(shí)級(jí)別的數(shù)據(jù)進(jìn)行查詢,AnalyticDB每次都對(duì)小時(shí)級(jí)別的數(shù)據(jù)做實(shí)時(shí)計(jì)算。這些計(jì)算會(huì)包含JOIN、GROUP BY等相對(duì)復(fù)雜運(yùn)算,時(shí)間最少也要1秒。向商家展示當(dāng)天24小時(shí)的數(shù)據(jù)就需要24秒,這個(gè)時(shí)間延遲比較久。
利用物化視圖,可以大幅降低延遲時(shí)間。將每小時(shí)展示信息結(jié)果存儲(chǔ)到物化視圖中,每次查詢只需要查詢物化視圖即可,平均每次查詢時(shí)間降低至100毫秒。
自動(dòng)化營(yíng)銷定時(shí)刷新視圖案例
業(yè)務(wù)背景
某客戶為鞋服類企業(yè)客戶提供自動(dòng)化營(yíng)銷服務(wù)。通常需要結(jié)合會(huì)員標(biāo)簽、庫(kù)存信息等多種維度來(lái)運(yùn)算報(bào)表,運(yùn)算量較大且耗時(shí)較久。這樣會(huì)影響報(bào)表的快速展示,不利于營(yíng)銷人員及時(shí)查詢。同時(shí),并發(fā)的大查詢也會(huì)影響后臺(tái)數(shù)據(jù)庫(kù)穩(wěn)定性。
業(yè)務(wù)效果
客戶使用物化視圖定時(shí)自動(dòng)刷新功能,每天晚上定時(shí)刷新視圖。視圖中已有運(yùn)算好的數(shù)據(jù),利于快速查詢,生成報(bào)表。同時(shí)利用定時(shí)刷新功能,客戶可以節(jié)省額外任務(wù)調(diào)度系統(tǒng)的開(kāi)銷。
菜鳥(niǎo)物流高效抽檢報(bào)表案例
業(yè)務(wù)背景
菜鳥(niǎo)物流是阿里巴巴旗下的重要業(yè)務(wù),管理著成千上萬(wàn)的包裹。當(dāng)包裹進(jìn)入倉(cāng)庫(kù)后,很重要的一個(gè)環(huán)節(jié)是實(shí)時(shí)抽檢,然后相關(guān)人員會(huì)定期查看近7天的抽檢報(bào)表。報(bào)表會(huì)展示商品、抽檢率、合格率、包裹數(shù)等各種指標(biāo)。計(jì)算報(bào)表需要消耗大量計(jì)算資源,雙十一大促時(shí),報(bào)表生成的速度會(huì)很慢,當(dāng)多人查看時(shí),不時(shí)發(fā)送大查詢到數(shù)據(jù)庫(kù)也容易導(dǎo)致系統(tǒng)不穩(wěn)定。
業(yè)務(wù)效果
使用物化視圖將近7天的抽檢報(bào)表數(shù)據(jù)保存下來(lái),每次查看報(bào)表時(shí)只需要查詢物化視圖即可。物化視圖按小時(shí)自動(dòng)刷新,帶上時(shí)間過(guò)濾條件即可,SQL如下所示:
CREATE MATERIALIZED VIEW xxx_report
REFRESH NEXT now + interval 1 hour
AS
SELECT ...
WHERE create_time >= select current_date() - interval 7 day