如何用阿裏雲HiTSDB時序數據庫實現百萬級海量數據點秒級讀寫
2017雲棲大會·上海峰會上,阿裏雲發布了麵向物聯網場景的HiTSDB時序數據庫,可支持每秒1000萬時序數據點寫入;具備PB級別的數據存儲能力,提供高效壓縮算法,整體存儲成本降低90%;提供時序數據插值計算,降精度計算,時間緯度聚合計算,空間緯度聚合計算的能力。
HiTSDB的能力脫胎於阿裏巴巴多年的實踐,麵對集群規模擁有獨特的分析計算能力,本文將從電商視角對HiTSDB進行深度剖析。
阿裏巴巴擁有著全球最大的電商交易平台,2016雙十一單日成交額突破了1207億。而這個龐大的業務規模的背後是由上千個應用服務,幾萬台服務器,每天上億的服務調用來支撐的。
如此大規模的應用監控需要全局監控服務APM(ApplicationPerformance Monitoring)來完成,通過采集各個服務和機器的運行數據和業務指標進行數據跟蹤監控,就可以全局的掌握業務和服務運行情況,幫助進行故障診斷和業務評估。
阿裏的全局監控服務叫做Ali360,通過Ali360可以進行全局的業務和服務監控。Ali360技術挑戰題在於集群規模。最初麵臨的規模就是幾百個應用,幾萬台的機器規模,要對每一台機器進行QPS等相關服務指標監控,應用係統依據Metric規範產生數據,上千萬的數據點寫入,上百萬的數據點查詢,這個規模是相當驚人的。
(天貓雙11大屏也是APM的一部分)
同時,Ali360的平均寫入維持在200W/S,每個數據點平均大小為200字節,那麼每秒寫入量在0.4G,每天就要產生34T的數據,而APM這種常見的時序領域的應用,通常數據寫入都是持續進行的,按照這樣的寫入速度,那麼每年業務存儲所需存儲成本變得非常的巨大,迫切需要進行成本的優化。
麵對這個巨大的挑戰,我們必須要尋找一條最合適的路。
最先排除掉的方案是通過關係型數據庫的方案。百萬級別的數據寫入給關係數據庫帶來的寫入壓力巨大,由於關係數據庫為了支持多維查詢而創建的索引導致寫入效率下降,同時索引存儲空間也造成了整個方案的成本巨大,性能也不理想。
第二個排除的方案是NoSQL的存儲方案。KV的問題在於數據的append操作通常是轉化為get 和put的操作,比較適合大量小的熱數據,並不適合這種監控數據的大數據寫入,數據寫入的效率也非常差。
從監控的業務形態和數據特點來分析,最終我們找到了阿裏雲HiTSDB 時序數據庫來解決這個問題。由於業務監控數據最終的呈現形態都是基於時間緯度的監控數據,技術領域對這些呈現的數據統稱為“TimeSeries Data 時序數據”,對於某一個指標的一係類持續數據點係列稱為“TimeLine 時間線”。那麼監控係統最終呈現的就是一係列的TimeLines。而時序數據庫則是針對時序數據的管理進行特殊優化的數據庫產品。
係統按照Metric的規範的通過HiTSDB提供的接口進行任意的數據寫入。寫入的信息可以包括任意的Tag,如:機房,區域,IP,應用,服務,方法名等以及寫入指標如:異常數,QPS,TPS等,通過HiTSDB接口將時序數據寫入到HiTSDB存儲,HiTSDB支持任意緯度的時序數據監控應用進行監控指標的查詢,以時間線的方式對應用提供服務。
阿裏雲HiTSDB 引入了倒排索引技術可支持每秒1000萬時序數據點寫入,可以充分滿足Ali360的600W/S 數據點寫入量的業務高峰。同時HiTSDB采用分布式的架構,可以進行橫向的水平擴展,理論上是不存在任何的性能瓶頸,而在實際的業務應用中,資源利用率水平維持在60%以下。
同時由於每秒寫入的數據點達到幾百萬且監控數據是24小時不斷的持續寫入,實際每天要產生T級別的數據,這些數據的存儲成本變得非常高。
HiTSDB采用Gorilla的壓縮算法,可以把一個時間點壓縮到1.37字節,實際應用中可以做到2字節以內,那麼實際隻需占用1%的存儲空間,1T的原始數據寫入,隻需要10G左右的存儲空間,整體節約了90%以上的存儲成本,這個壓縮效果對於業務來說節省的成本非常可觀,也可以提升查詢速度。
Ali360的業務裏包括一項業務趨勢數據的查詢分析功能,通常查詢的時間跨度比較豐富,比如半小時、1小時、1天,設置1個月的趨勢數據。同時還要提供特定緯度的計算,如將每秒的服務調用量,按照分鍾級別進行sum計算,每分鍾的係統負載按照AVG進行平均計算,當查詢的時間線數量增加,時間跨度拉長的時候,需要查詢和計算的數據規模就迅速增長。
HiTSDB提供多種計算能力,包括時序數據插值計算、降精度計算、時間緯度聚合計算和空間緯度聚合計算等,百萬數據點計算響應時間小於5秒,可以充分的滿足業務查詢計算需求。
除了提供接口級別的數據查詢外,HiTSDB也可以和Grafana以及其他的可視化係統對接,快速實現數據的展現,對於非定製化的監控係統來說可以大大提高業務分析決策的效率。
事實上,除了APM應用分析外,這種對於時序數據數據的管理和使用場景也廣泛應用於IoT和實時分析領域,都可以通過HiTSDB 來解決,目前這款產品即將公測,歡迎有類似需求的團隊試用。
本文作者:阿裏巴巴資深工程師 鳳豪
原文鏈接
最後更新:2017-06-13 10:31:57