今年8月,隨著原有數據庫被成功切換至金倉分析型數據庫KADB,某直轄市健康碼平臺日志分析系統的無感升級工作全部順利完成。本次改造使得該系統總體性能得到大幅提升、數據服務的可用性顯著提高,進一步筑牢疫情防控屏障。
TIPS:健康碼平臺日志分析系統用于記錄全市所有公共場所二維碼掃碼情況及對應人員信息,并對以上基礎數據進行分析生成流調數據,進而為疫情發生時判定密接、次密接人員、時空密接者以及風險區域劃定提供準確的數據支撐。
隨著該市疫情常態化防控的推進,及社會經濟活動的持續復蘇,目前日均掃碼量超3000萬次,累計掃碼數據數百億條,日志分析系統原有數據庫服務器CPU占用超過80%,已用存儲空間超60%,服務器長期處于高負荷運行狀態,數據庫系統的性能與穩定性受到極大挑戰。
數據持續增長
挑戰一:數據寫入效率
在原數據庫系統上,每小時掃碼數據的平均寫入耗時約為40分鐘,在此情況下,社會活動高峰時段存在數據無法及時入庫的風險,從而導致數據積壓、日志分析業務時效性持續延后甚至雪崩的后果。
挑戰二:數據分析性能
疫情爆發2年多以來,隨著防控數據的持續累積,相關數據已達數百億條,原數據庫的分析性能也隨著數據量的增長不斷下降,其中最重要的某業務數據分析響應時延超過2分鐘。因疫情風險結果數據的時效性直接影響傳播擴散的范圍,原數據庫分析性能已經無法滿足系統針對疫情風險防控的總體設計要求。
挑戰三:數據庫可用性
原數據庫從數據存儲到服務接入,各個層級均采用單點建設模式。當前系統持續高負荷運轉,數據可靠性、服務連續性受到極大挑戰,數據庫部署架構亟需進行高可用加固。
KADB全面提升系統性能與可用性
熱數據緩存加速
針對健康碼平臺日志分析系統歷史留存數據量大、實時數據持續寫入負載高的特點,本次部署的KADB采用了冷熱數據分離存儲的架構,數據寫入性能整體提升3倍。
歷史數據采取列存并進行壓縮的方式進行存儲,以支撐海量數據少列查詢的場景下快速響應。歷史冷數據的壓縮比達12:1以上,顯著提升集群整體的數據容量。
實時數據采取行存的方式以提高數據導入速度和實時查詢效率,同時通過熱數據緩存技術實現數據快速加載,本系統單小時場所碼掃碼數據加載耗時由原來的40分鐘縮短至15分鐘以內。通過配置熱數據生命周期相關參數,數據庫支持對冷熱階段的數據進行存儲方式的自動轉換。

全并行計算
KADB基于多物理節點、節點內多虛擬實例、CPU眾核多線程以及指令向量化執行四級全并行計算,實現了一套高效能的分布式引擎。結合百節點以上超大規模部署、并行CBO優化器、流水線執行引擎、數據高效壓縮技術、熱數據高速緩存等10大技術特性,充分利用集群中各節點資源,發揮并行計算的極致性能。在該直轄市健康碼平臺日志分析系統中,流調信息相關分析業務平均響應時延由150秒降至40秒以內,總體查詢分析效率提升6倍以上。

高可用部署
KADB數據庫支持全棧高可用部署,所有組件無單點故障,所有數據均提供副本存儲,從架構整體上確保數據不丟失、服務持續可用。
本次在數據存儲層采用了雙副本架構,即每個數據分片都有一份實時一致的熱備副本,主副本故障后熱備副本即刻拉起,可在數據節點宕機數量不超過半數時持續提供服務。此外,在數據訪問層也部署了主備管理節點,支持節點故障的秒級無感切換,進一步確保數據庫服務持續可用。

隨著各地常態化防控的深入推進,面對突發疫情的發現、響應、分析與處置越來越科學、迅速、有效。在這其中,基于海量數據的健康碼大數據平臺發揮了巨大作用。人大金倉作為數據庫領域的國家隊,已先后在多個省級健康碼平臺完成了數據實時災備方案的落地實施及流調分析等系統的數據庫升級。
在未來,人大金倉將繼續勇擔使命,以數字化支撐精準防控、助力科技戰“疫”。






