工具建設:數據分析工具如何提高查詢速度

2 評論 1084 瀏覽 1 收藏 5 分鐘

面對龐大的數據量,如何優化查詢效率,提供快速且準確的數據分析結果,是數據產品經理需要深入思考的問題。本文將探討幾種提高大數據查詢效率的策略,幫助提升用戶體驗,并為數據產品的設計與優化提供指導。

最近面試一個同學的時候,聊到了他負責的大數據取數平臺。平臺的主要是提供給業務、分析師等使用,支持他們在現成報表沒有相關數據時,快速查詢和分析自己想要的數據。

例如對dau做各種維度下鉆分析,來定位數據出現波動的原因?;蛘咴跇I務復盤的時候,查詢某種口徑下各個業務線帶來的收入。

這位同學主要負責產品設計以及推廣,但當問到如何提高查詢效率,以便給到用戶更好的查詢體驗時,能聊出來的東西就比較少了。

其實作為數據產品,尤其是偏工具的數據產品,應該對工具的邏輯有基本了解,這樣可以幫助自己更好的進行產品設計和規劃。

這篇就和大家聊一聊,當面對大數據量時,我們有哪些方案來進行優化,從而給到用戶更好的體驗。

一、冷熱數據

很多時候業務整體的數據量很大,但常用的熱數據很可能只是其中一部分。我們可以基于實際的使用需要,只支持部分數據的查詢,從而減少數據量,提高查詢效率。

例如,對于視頻APP來說,曝光相關的數據量通常都比較大,大家經常會查詢一些IP的“曝光 -> 點擊 -> 播放”的鏈路數據。

可是對業務的實際查詢情況做進一步分析就會發現,日常需要關注并查詢的IP多數都是最近比較熱的IP,并不是所有的IP都需要做類似查詢。

這時就可以只支持這些比較熱的IP的查詢,當真的有用戶需要查詢其它IP的時候,再把數據加載進來。

二、抽樣加速

在實際的數據使用過程中,有些分析不需要獲得非常準確的數據結果,而是可以接受一定的誤差。

例如一個應用的dau每天都在大幾千萬,我們要分析一下最近一個月dau的變化趨勢。這時其實就不需要非常精確,每天的結果存在十幾或者幾十的誤差,對最終分析沒有什么影響。這時就可以對數據進行抽樣,既滿足的業務需求,又加快了查詢速度,節省了存儲資源。

三、預聚合

相信大家一定知道28法則,在使用數據的時候同樣也存在類似的情況。例如一個指標有A、B、C、D、E一共5個維度,但使用的時候并不是每種維度組合都會用到,可能一般只會用到ABC和ABCD的組合。

這種情況下我們就可以進行預聚合,提前把ABC和ABCD的結果計算好,而不是用戶選擇之后從頭開始計算,從而大大提高查詢速度。

我們很多的報表就是這種情況,用戶每次來查詢的情況相對固定,使用預聚合就可以大幅提高效率。

除了以上常見的一些方式外,還有一些其它的方式,例如bucket加速、任務拆分等等。總之,對于一個查詢工具來說,查詢速度對用戶的體驗影響非常打。作為數據產品,要明白查詢的基本原理,并且能結合業務實際情況給出可行的產品方案

本文由 @暮雪云然 原創發布于人人都是產品經理。未經作者許可,禁止轉載

題圖來自Unsplash,基于CC0協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 文章提供了很實用的提高查詢速度的方法,對數據產品設計很有幫助。

    來自廣東 回復
    1. 感謝支持~

      來自北京 回復