《焦方飛:阿里巴巴海量數據場景下的列式數據庫HiStore(23頁).pdf》由會員分享,可在線閱讀,更多相關《焦方飛:阿里巴巴海量數據場景下的列式數據庫HiStore(23頁).pdf(23頁珍藏版)》請在三個皮匠報告上搜索。
1、An OLAP Columnar Database in the Context of Alibabas Massive Data-HiStoreAlibaba Database Technical Specialist,Jiao Fangfei阿里巴巴海量數據場景下的列式數據庫HiStore阿里巴巴數據庫技術專家焦方飛Why HiStore案例分析231技術介紹Why HiStore痛點在哪里(業界)存儲成本查詢效率數據維度實時性數據遷移痛點在哪里(集團內)業務層面以集團內某日志系統為例,每日PB級別的量級,評估需要數千臺mysql存儲成本存儲領域有幾萬到幾十萬臺物理機,存儲的離線數據,歷史
2、數據、日志、軌跡、用戶行為分析數據,占據大概一半左右性能要求如此多的數據,如何在減低成本的同時保證高性能的分析HiStore 高性能分析型列式數據庫高性能OLAP多維Ad-hoc查詢性能強勁快速響應復雜聚合類查詢高性能數據導入海量數據低成本PB級數據存儲超高壓縮比運維成本低,遷移成本低MySQL生態完全兼容MySQL生態易用性好以十分之一的成本,獲得十倍的性能提升!HiStore詳細特性OLAP引擎 支持任意Column組合的多維ad-hoc查詢.單機可以支持百億+數據量的秒級聚合查詢.查詢計劃并發執行(SMP),顯著降低查詢響應時間.列式(Column-based)存儲 海量數據掃描時,數據
3、按列進行細粒度訪問,避免不必要的磁盤IO消耗?;诋斍傲械脑畔⑦M行高效存儲優化.基于知識網格的查詢優化與執行器 不依賴傳統索引結構.即使數據量十分巨大,查詢速度也很快 大數據量查詢性能強勁 知識網格在數據裝載以及查詢過程中自動維護,無需人工介入.高效壓縮算法 壓縮率在 1:1040 之間.極大節省數據存儲成本.針對不同數據類型提供多種壓縮算法.標準MySQL協議和語法支持 客戶端應用遷移成本低,無需修改現有業務代碼.結合TDDL/DRDS實現存儲容量和處理能力的線性提升高性能數據導入 二進制流導入支持 降低HiStore Engine負載(CPU Offload).多語言客戶端支持.案例分析
4、HiStore適用場景數據分析商業智能用戶畫像用戶行為歷史數據歸檔數據日志/軌跡記錄/監控數據倉庫高德熱力圖(用戶畫像)項目介紹將人地關系數據和用戶畫像數據進行連接,可以為地產,商鋪等客戶選址提供極大的幫助。主要包括熱力圖即任何一個地方在每個小時的人流變化的熱力圖像.業務難點及痛點數據量大,每天數百億條,總量幾萬億;導入速度要求高:每天數據導入需要2小時內完成,即2小時導入數百億條數據;針對萬億級別做復雜聚合操作(count distinct,in,group by order by),業務需要確保查詢時間在10s以內;HiStore價值與意義秒級別的復雜聚合查詢;高性能數據導入,數百億增量數
5、據在兩小時完成;高壓縮比,機器成本低;御膳房(OLAP&ADhoc查詢)項目介紹御膳房策略中心是集團“品銷全營銷,uni-marketing”項目中的一部分,產品定位是品牌發展策略的支持平臺,通過海量實時數據,幫助品牌商更高效,更明智地做出品牌發展相關的商業決策,1500W條/日;業務難點及痛點 商品屬性的維度是動態的,需要支持多維查詢 查詢的數據量很大,涉及到8億數據和1億數據之間join 目前存儲成本太高、穩定性不好且數據導入實時性不夠 HiStore價值與意義 秒級別的高效穩定的多維查詢,支持多達4096列,動態增刪列:標準MySQL語句(ALTER TABLE)高性能數據導入,數十億數
6、據在一個小時加載完成,相對當前方案提升五倍 御膳房二期全鏈路和透視項目(從幾百臺高配物理機集群,替換為50臺HiStore docker部署)螞蟻體驗平臺(用戶行為分析)項目介紹 螞蟻體驗平臺構建一套包含“問題收集、分析、推進、協作、價值衡量”的體系,幫助螞蟻金服的產品做良性的改進;方便螞蟻小二對集團的數據進行分析,比如對花唄的幾千萬上億的會員進行畫像分析;業務難點及痛點 之前使用MySQL方案,單表數據大于2000萬時,查詢經常超時 特征列不能超過100,查詢條件越多越慢 擴展不方便,維護索引麻煩HiStore價值與意義億級別數據實現秒級別的高效穩定的多維查詢查詢條件越多查詢速度越快100列
7、擴展到512列,擴展方便MySQLHiStoreHiStore集群托管業務數據量1400萬9000萬600億特征列數512512Count(*)|where 1列15秒2秒1秒Count(*)|where 5列65秒0.8秒0.6秒Count(*)|where 10列150秒0.35秒0.43秒全鏈路追蹤系統EagleEye項目介紹EagleEye是集團內一款應用廣泛的分布式調用跟蹤系統,主要幫助用戶方便地查看應用的實時數據及快速定位線上問題,為全鏈路壓測、跨單元分析、鏈路梳理提供數據支撐。業務難點及痛點數據量大,PB級別,存儲成本極高峰值數千萬的TPS,使用MySQL成本太高HiStore價
8、值與意義秒級別的多維度Adhoc查詢單機支持數十萬TPS寫入高壓縮比,為集團節省數千臺機器成本技術介紹Column-based Engine基于列(Column-based)的數據存儲數據組織結構HiStore引擎將數據組織為兩個層次:物理存儲介質上的的塊數據(Data Node,DN).知識網格(Knowledge Grid,KG):由描述數據塊的元信息節點(Metadata Node,MD)和知識節點(Knowledge Node,KN)組成.知識網格KG(數據元信息節點MD和知識節點KN):數據元信息節點(MD)包含了其對應數據塊中數據的相關信息:數據聚合函數值(MIN,MAX,SUM,
9、AVG等).記錄數量(count)數據中的null記錄標記.知識節點(KN)除了基礎元數據外,還包括數據特征以及更深度的數據統信息.知識網格存儲在內存中,方便快速查詢.HiStore整體架構核心技術1:查詢優化器核心技術2:壓縮數據實時檢索直接壓縮數據查詢采用Succinct 技術,針對不同類型的字段進行了單獨的優化處理。位圖上rank和select定位,整個index結構會非常的小,快而省。支持count,range查詢,通配符等查詢Hi-index原理原始數據BWT變換,字典排序,便于數據恢復和壓縮BWT數據經delta或游程編碼,數據壓縮Suffix數組抽樣,減少數據設置Checkpoi
10、nt點,加快檢索。核心技術3:高性能數據寫入 挑戰:海量數據,低延遲寫入INSERT寫入放大,性能低客戶端緩存,業務開發成本高解決方案:HiStore寫入緩沖網絡流實時解析磁盤友好Append-Only寫文件,減少隨機IO智能數據散列,多磁盤并行IO并行壓縮:多核平滑系統負載基于mmap的ring buffer核心技術4:MVCC無鎖讀事務 問題 讀寫鎖導致查詢阻塞 僅支持兩版本并發 解決方案 MVCC,單寫,非阻塞多讀 Snapshot 隔離級別Tradeoff:不支持跨表事務 技術難點 chunk級別多版本 Copy-on-write 原子性提交多個修改 資源延遲回收核心技術5:硬件加速1
11、35.2674.74020406080100120140160HiStoreHiStoreQAT單單位位秒秒GZIP壓縮算法下1200W行數據導入時間16.32111.968024681012141618HiStoreQATHiStore默認(LZ4)壓縮比基于Intel QAT技術實現基于硬件壓縮,解壓縮 現狀:GZIP壓縮算法壓縮率高,但是速度慢吞吐量小。改進后:通過FPGA子卡完成數據壓縮解壓縮,壓縮速度是GZIP算法在CPU上運行的10倍以上。壓縮率比HiStore默認的LZ4算法提高30%外部客戶如何使用私有云作為阿里企業級互聯網架構中的一個方案,在私有云場景中輸出公有云對于阿里云公有云上的服務,可以通過購買ECS,然后部署HiStore的方式來輸出DRDS鉑金版集成到DRDS鉑金版里,提供HTAP服務