基于 Databend 實現的海量日志實時查詢服務 | 多點DMALL
作者:蘇琳
多點DMALL 供應鏈補貨團隊負責人
多點DMALL 成立于 2015 年。從創(chuàng)立伊始,就致力于以大數據、云計算、AI 等數字技術改變零售業(yè),是一站式全渠道數字零售解決方案服務商,數字化解構重構零售產業(yè),提供端到端的商業(yè) SaaS 解決方案。
多點DMALL 通過 DMALL OS 提供零售云一站式解決方案,幫助零售商和品牌商數字化轉型,實現線上線下一體化;同時通過多點 App 等工具賦能全渠道經營能力,并提供各類增值服務。
需求概述
商家要求支持 4 個月的日志查詢,目前線上只支持 1 個月。每天日志是 400 萬行項,1 個月的日志量是 1.2 億,?考慮到后續(xù)業(yè)務的增長,預計每月日志數據量會增長到 2.5億;4 個月的日志量是 10 億行項左右。
現采用的 MongoDB 集群因資源受限無法支持 10 億行項存儲及查詢,急需尋找另外的解決方案。
Databend?的介紹及優(yōu)勢
Databend 是一個開源的、完全面向云架構的新式數倉,它提供快速的彈性擴展能力,并結合云的彈性、簡單性和低成本,使 Data Cloud 構建變得更加容易。Databend 把數據存儲在 AWS S3 ,Azure Blob 等這些云上的存儲系統(tǒng),可以使不同的計算節(jié)點掛載同一份數據,從而做到較高的彈性,實現對資源的精細化控制。Databend 在設計上專注以下能力:
高性能且部署使用成本低: 在提供更高的性能的同時,部署成本不到傳統(tǒng)數據庫(MySQL、MongoDB)的 1/10;
支持標準 sql 語法: 能兼容 Mybatits 等常用 ORM 框架,對于研發(fā)來說沒有任何學習成本。
支持自動索引: 系統(tǒng)會自動對所有字段建立索引;無需研發(fā)進行優(yōu)化。
技術選型
由于 Databend 可以處理海量數據的查詢,并且提供了實時查詢和處理能力。恰好滿足了多點現在所求。基于以上,我們選擇 Databend 實現海量日志實時查詢的原因包括有以下四點:
1?? 基于對象存儲,成本低
SSD 塊設備的 1/10;按實際用量付費
2?? 在線查詢
無須從冷備中恢復;可接受的查詢性能
3?? 支持大單表
TB 級別;分批持續(xù)歸檔
4?? 兼容 TiDB
MySQL 協議;數據類型兼容
使用 Databend?方案
目前使用 Databend 主要是用在計算日志查詢場景。
計算任務會將計算日志保存到 MongoDB;然后會通過定時任務,將日志從 MongoDB 同步到 Databend 供頁面查詢。

基于 Databend?的性能測試
??????? 測試環(huán)境
Databend 是計算、存儲分離架構
計算節(jié)點: 1 * 4C16G100G (費用 70美元/月)
存儲:使用對象存儲,按需付費
??????? 測試表結構和數據樣例
1?? 表結構
2?? 查詢性能

??????? 測試總結
在10億數據量級下,常用查詢均可做到秒級響應。
海量日志實時查詢服務通用化解決方案

Databend 適用方案
大規(guī)模數據查詢: Databend 可以處理海量數據的查詢。如果你需要對大規(guī)模數據進行復雜的查詢和分析,Databend 可以作為一個高效的數據湖倉使用。
數據倉庫和數據湖: Databend 可以作為數據倉庫或數據湖的核心組件,用于存儲和管理結構化和半結構化數據。它支持標準的 SQL 查詢語言,使得數據分析師和工程師可以方便地進行數據探索和分析。
實時數據處理: Databend 提供了實時查詢和處理能力,適用于對實時數據流進行查詢和分析的場景。你可以將實時數據流導入到 Databend 中,并通過 SQL 查詢語言實時分析數據。