動態

詳情 返回 返回

ClkLog埋點與用户行為分析系統:架構升級與性能全面提升 - 動態 詳情

隨着越來越多企業在實際業務中使用 ClkLog,數據規模和分析需求也不斷提升,部分用户日活已經超過10萬,為了順應這一趨勢,ClkLog 秉持 “開放透明、持續演進”的理念,推出了迄今為止最重要的一次性能優化升級。新版本在大規模數據處理與複雜查詢場景中,性能表現實現了跨越式提升

經過多輪研發與嚴格測試,新版本現已正式上線:在原有付費版 1.0 的基礎上架構全面升級,並同步發佈全新的 2.0 版本。為用户帶來更強的性能與更廣的適用場景。

一、查找性能突破點

1.查找性能瓶頸

為了實現大規模數據處理與複雜查詢場景的性能提升,我們需要先找到性能瓶頸所在,再逐一突破,對性能要求最高的是以下兩個業務場景:

  • 自定義查詢
    1)查詢時間範圍較大時,耗時從秒級延長至分鐘級
    2)維度數據分散時,甚至可能超時失敗
  • 漏斗查詢
    1)多層漏斗 + 多日轉化時,內存佔用指數級增長
    2)數據量較大時會觸發內存溢出保護,導致任務失敗

2.鎖定問題根源

  • 非結構化存儲解析開銷大 :ClickHouse 日誌缺省以JSON字符串存儲模式,每次查詢都要實時解析,CPU消耗高,無法利用索引優化
  • 複雜查詢全量掃描 :CPU與內存壓力倍增,最終導致性能急劇下降

二、優化測試與性能對比

1.最終優化方案

針對上述性能問題的根源,我們提出了多種優化方案,並通過多輪嚴格測試進行驗證,最終確定了兩套優化方案:

  • 方案一 1.0升級版:ClickHouse新版本25.4 提供了原生JSON類型高性能處理方案。ClkLog同步將數據存儲格式升級為“原生JSON類型”。
  • 方案二 2.0版本:支持全新的寬表平鋪模式,更容易兼容各種OLAP數據庫以及二次開發。

2.性能比對結果

  • 業務場景一:自定義查詢
  • 業務場景二:漏斗查詢

三、新版本中兩種存儲模式

四、版本選型指南(三步判斷)

選擇存儲模式時,建議參考以下三步判斷:
1.你的數據規模大嗎?
➢小規模 → JSON
➢大規模 →寬表

2.查詢複雜嗎?
➢簡單 → JSON(日誌量大也能支撐)
➢複雜 →寬表

3.需要頻繁二次開發/對接外部工具或上下游產品嗎?
➢否 → 根據前兩個因素選擇JSON或寬表
➢是 → 寬表

五、總結

1.付費版衍生出兩個存儲架構的版本

  • 原生JSON類型(即PRO1.0 & CDP1.0)
    存儲簡單、成本低,適合 中小規模數據 + 簡單查詢 + 低頻開發
  • 寬表平鋪模式(即PRO2.0 & CDP2.0)
    性能強大、擴展性好,適合 大規模數據 + 高複雜查詢 + 高頻開發

2.本次升級還包含其他優化

  • 系統架構升級
    新版日誌採集處理架構,新增歸檔服務,滿足合規性審計與歷史數據回溯需求。
  • 數據庫版本升級
    基於ClickHouse 25.4.12(2025年度官方發佈版本)構建數據存儲引擎,利用新版優勢提高查詢效率。
  • 數據存儲模式優化
    事件日誌數據分區策略調整為按自然月分區,提升基於時間範圍的查詢效率。
  • 系統功能與性能優化

    1. 自定義分析與漏斗分析模塊新增對查詢維度及全局篩選條件的自定義屬性支持,允許用户通過配置動態添加任意自定義字段作為分析維度,提升自定義分析查詢場景的靈活性。
    2. 對漏斗分析場景進行專項優化,提升複雜分析任務的查詢效率。
    3. 對前端數據查詢結果展示頁面進行細節優化,包括緩存優化、刷新優化、圖表展示優化等,改善用户操作體驗。

無論是輕量應用還是企業級複雜場景,ClkLog都能幫助企業快速找到最適合的解決方案。


user avatar chengdumeiyouni 頭像 u_17470194 頭像 nbidashuju 頭像 xuri 頭像 lvxingzhongdemaojin_clive7 頭像
點贊 5 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.