日吞吐萬億,騰訊雲時序資料庫CTSDB解密

2021-01-10 TechWeb

[an error occurred while processing the directive]

一、背景

隨著移動網際網路、物聯網、大數據等行業的高速發展,數據在持續的以指數級的速度增長,比如我們使用手機訪問互網絡時的行為數據,各種可穿戴設備上報的狀態數據,工廠中設備傳感器採集的指標數據,傳統網際網路公司的監控數據等。實際上,這些按照時間順序記錄系統、設備狀態變化的數據都是時序數據(Time Series),它普遍存在於網際網路、物聯網、IT基礎設施中。

得益於軟硬體技術的快速發展,處理如此龐大的時序數據集的成本在持續降低,更多公司開始持續收集、分析數據,用於異常處理、趨勢預測、精準營銷、風險控制等場景,希望利用數據的潛在價值,提高公司盈利能力和競爭力。這裡舉兩個例子:

1.下圖為某共享單車在舊金山某熱門區域的車輛借還情況。通過分析該區域車輛的歷史借還數據,單車公司可優化熱點時間段的車輛補給。

2. 下圖為某網際網路服務的出入流量歷史記錄。從圖中可以明顯看到入流量(藍色線)在某時間段有毛刺,服務提供商可基於此段時間排查服務有無異常。可以進一步基於流量監控做告警,使運維人員能夠及時處理線上問題。

二、傳統時序數據解決方案存在大量問題

傳統的時序數據解決方案及問題如下:

1. MySQL等關係型資料庫:

寫入吞吐低:單機寫入吞吐低,很難滿足時序數據千萬級的寫入壓力;存儲成本大:對於時序數據壓縮不佳,需佔用大量機器資源;維護成本高:單機系統,需要在上層人工的分庫分表,維護成本高;查詢性能差:適用於交易處理,海量數據的聚合分析性能差。

2. Hadoop、Spark等批處理系統

數據延遲高:離線批處理系統,數據從產生到可分析,耗時數小時、甚至天級;查詢性能差:不能很好的利用索引,依賴批處理任務,查詢耗時一般在分鐘級以上。

3. HBase

多維分析能力差:HBase可以較好的滿足寫入壓力,但對於非RowKey前綴的查詢性能較差;維護成本:使用HBase需要同時維護HBase和Hadoop等系統,且HBase的穩定性會進一步加大維護成本。

三、寫入、存儲、查詢 多環節優化,時序資料庫 優勢明顯

1. 時序數據模型及特點 在引入時序資料庫之前,先要了解【時序數據】的模型及特點。 1.1 時序數據的數學模型

前面介紹了時序數據的場景,也說明了分析時序數據的意義及傳統方案。那麼時序數據該怎樣存儲呢?數據的存儲要考慮其數學模型和特點,時序數據當然也不例外。這裡以一段時序數據為例,介紹下時序數據的數學模型。

下列數據記錄了一段時間內某集群裡各機器上各埠的出入流量,每半小時記錄一個觀測值:

metric: 相關聯的數據集合,類似於關係型資料庫中的 table;point: 一個時序數據點,類似於關係型資料庫中的 row;timestamp: 時間戳,表徵時序數據產生的時間點;tag: 維度列,用於描述設備/系統的屬性,表明是哪個設備/模塊產生的,一般不隨著時間變化;field: 指標列,用於描述設備/系統狀態的變化,隨時間平滑波動。 1.2 時序數據特點 數據模式: 時序數據隨時間增長,相同設備/系統的維度信息不變,指標平滑變化,這點從上面的Network表的數據變化可以看出。寫入: 持續高並發寫入,無更新操作:時序資料庫面對的往往是百萬甚至千萬數量級終端設備的實時數據寫入(如摩拜單車2017年全國車輛數為千萬級),但數據大多表徵設備狀態,寫入後不會更新。查詢: 按不同維度對指標進行統計分析,且存在明顯的冷熱數據,一般只會頻繁查詢近期數據。 2. 時序資料庫 2.1 時序資料庫

時序資料庫是管理時序數據的專業化資料庫,並針對時序數據的特點對寫入、存儲、查詢等流程進行了優化,從而解決時序數據處理難題:

存儲成本: 利用維度重複、時間遞增、指標平滑變化等特性,合理選擇編碼壓縮算法,提高數據壓縮比; 通過預降精度,對歷史數據做聚合,節省存儲空間。高並發寫入: 數據批量寫入,降低網絡開銷; 數據先寫入內存,再周期性的dump為不可變的文件存儲,提高寫入速度。低查詢延時,高查詢並發: 優化常見的查詢模式,通過索引等技術降低查詢延時; 通過緩存、routing等技術提高查詢並發。 2.2 開源時序資料庫對比

目前行業內比較流行的開源時序資料庫產品有 InfluxDB、OpenTSDB、Prometheus、Graphite等,其產品特性對比如下圖所示:

從上表可以看出,開源的時序資料庫存在如下問題:

沒有free、易用的分布式版本(OpenTSDB支持分布式部署,但依賴系統過多,維護成本高);聚合能力普遍較弱,而時序數據大多需要來做統計分析;沒有free的權限管理;沒有針對時間序列的多維度對比分析工具。

四、歷經每日萬億寫入吞吐,騰訊雲CTSDB技術架構

騰訊CTSDB(Cloud Time Series Database)是一種分布式、高性能的時序資料庫,針對時序數據的高並發寫入、存在明顯的冷熱數據、IoT用戶場景等做了大量優化,同時也支持各行業的日誌解析和存儲。在騰訊內部支撐騰訊雲等每日萬億寫入吞吐的場景,經過嚴苛的壓力打磨。其架構如下圖所示:

1. CTSDB主要特點 高性能:(具體性能數據參考後文測試部分) 支持批量寫入、高並發查詢,以及強大的分析聚合能力; 通過橫向擴展,線性提升系統性能; 支持sharding、routing,加速查詢。高可靠: 分布式系統,支持多副本; 機架感知,自動錯開機架分配主從副本。易使用: 豐富的數據類型,REST接口,數據寫入查詢均使用json格式; 原生分布式,彈性可伸縮,數據自動均衡; 權限系統:支持用戶名密碼、機器白名單的權限系統。低成本: 支持列存儲,高壓縮比(0.1左右),降低存儲成本; 支持數據預降精度:降低存儲成本的同時,提高查詢性能。 副本數可按需調整。兼容開源生態: 兼容Kibana/Logstash/Beat等組件,方便數據採集及可視化分析; 支持從MySQL、Kafka等開源生態同步數據,方便遷移。 2. 競品性能對比測試

這裡選用業界較為流行的InfluxDB來與CTSDB做性能對比測試。

2.1 寫入性能測試

(1) CTSDB單節點集群與InfluxDB單機版寫入性能對比

橫坐標:並發數(寫入線程數) ,縱坐標:QPS(單位:萬次/s)

結論: CTSDB單節點寫入性能最高在19w,InfluxDB在15w。

(2) CTSDB單節點集群與CTSDB雙節點集群寫入性能對比

橫坐標:並發數(寫入線程數) ,縱坐標:QPS(單位:萬次/s)

結論:CTSDB單節點集群寫入最高可達20w,雙節點集群寫入性能34w。

2.2 查詢性能測試

(1) CTSDB單節點集群與InfluxDB單機版查詢性能對比

橫坐標:並發數(查詢線程數) ,縱坐標:QPS(單位:次/s)

結論:

CTSDB查詢性能整體比InfluxDB好很多,當並發數較高時(40),CTSDB查詢性能比InfluxDB高出近4倍,在2w左右。在並發線程數達到50時,InfluxDB出現連結錯誤,拒絕查詢請求;此時,CTSDB可正常查詢。

(2) CTSDB單節點集群與雙節點集群查詢性能對比

橫坐標:並發數(查詢線程數) ,縱坐標:QPS(單位:次/s)

結論:在並發數較高的情況下,雙節點集群查詢性能較單節點集群有了大幅度提升,呈現了查詢性能線性擴展的趨勢。

關於我們 1. 我們的現狀

作為騰訊唯一的時序資料庫,CTSDB支撐了騰訊內部20多個核心業務(微信彩票、財付通、雲監控、雲資料庫、雲負載等)。其中,雲監控系統記錄了騰訊內部各種軟硬體系統的實時狀態,CTSDB承載了它所有的數據存儲,在每秒千萬級數據點的寫入壓力、每天20TB+數據量的寫入場景下穩定運行,足以證明CTSDB可以穩定支撐物聯網的海量數據場景。

2. 我們的未來 

CTSDB已經在騰訊雲正式開始公測,為時序數據處理提供技術服務,我們將在降低存儲成本、提升易用性和豐富功能性等方面進一步優化CTSDB!

歡迎對時序資料庫和分布式存儲感興趣的同學加入我們!

相關焦點

  • 騰訊雲資料庫產品再獲認可 入選Gartner全球資料庫魔力象限
    ,騰訊雲資料庫正式進入Gartner雲資料庫管理系統魔力象限,被評為特定領域者。有不願具名的業內人士向記者表示,此次騰訊雲資料庫能夠正式入選Gartner魔力象限,不僅表明了Gartner官方的肯定與認可,也意味著騰訊雲資料庫的綜合能力正式進入全球頂級序列。事實上,根據Gartner官方去年發布的一份資料庫研究報告顯示,騰訊雲資料庫市場份額增速達123%,位居國內所有資料庫廠商之首,並在全球範圍內保持了連續兩年增速前三的迅猛勢頭。
  • 騰訊雲發布圖資料庫TGDB 助力國產資料庫進一步打破技術「天花板」
    來源:中國證券網上證報中國證券網訊(記者 溫婷)騰訊雲6月1日發布分布式圖資料庫產品騰訊雲數圖TGDB(Tencent Graph Database)。這款資料庫能夠實現萬億級關聯關係數據實時查詢,高效治理異構數據,支持實時圖計算,助力企業打通數據孤島。騰訊雲圖資料庫產品經理邵宗文表示:「騰訊雲資料庫完善的自研資料庫體系和產品體系,將助力國產資料庫進一步打破技術『天花板』,全面助推各行各業數位化升級。」在5G、物聯網、人工智慧等數位化技術推動下,企業數據呈爆發式增長,數據間的關聯複雜度也隨之劇增。
  • 騰訊雲成為MariaDB基金會白金會員,成全球資料庫開源中堅力量
    騰訊雲將輸出騰訊在MariaDB資料庫上的經驗和技術。騰訊雲專家工程師程彬加入基金會成員組,成為全球僅有的7位官方成員之一。程彬負責騰訊雲資料庫CDB以及內核TXSQL的研發,專注於資料庫和分布式存儲領域相關技術和產品。他將代表騰訊雲的資料庫團隊參加基金會每周的技術會議,提供MariaDB資料庫的意見和建議,並在內部推動騰訊雲MariaDB的開源進程,推動MariaDB在中國的開源工作。
  • 十分鐘看懂時序資料庫(III)- 壓縮
    作為物聯網鄰域數據存儲的首選時序資料庫也越來越多進入人們的視野,而早在2016年7月,百度雲在其天工物聯網平臺上發布了國內首個多租戶的分布式時序資料庫產品TSDB,成為支持其發展製造,交通,能源,智慧城市等產業領域的核心產品,同時也成為百度戰略發展產業物聯網的標誌性事件。壓縮對於時序資料庫是至關重要的。因為時序資料庫面對的物聯網場景每天都會產生上億條數據。
  • 騰訊雲開源資料庫TBase迎來首次升級,複雜查詢的性能提升十倍以上
    2019年11月,騰訊宣布正式對外開源分布式資料庫TBase,受到資料庫界的廣泛關注,如今這款分布式資料庫迎來了開源後的首次升級。7月13日消息,騰訊雲自研分布式HTAP資料庫TBase正式發布最新開源版本。
  • 2017騰訊雲+未來峰會:騰訊雲發布AI即服務智能雲
    【TechWeb報導】6月22日消息,2017騰訊雲+未來峰會於本月21日、22日在深圳會展中心召開。此次峰會以「連接·智能·未來」為主題,騰訊雲首次發布AI戰略新品——AI即服務的智能雲。
  • 科普:雲資料庫有哪幾種類型,應該如何選擇
    數據可以說是每個行業發展和變革的必要元素,它滲透在各個領域中,而我們一直使用傳統資料庫來協助存儲和組織這些數據。 隨著雲時代的發展,催生了各種對雲資料庫的新需求,越來越多人意識到採用傳統資料庫已經無法滿足原有的使用場景,需要選擇適合使用的新型資料庫。
  • 「出生即王者」,騰訊雲圖資料庫TGDB實現萬億級數據實時查詢
    6月1日,騰訊雲正式發布分布式圖資料庫產品騰訊雲數圖TGDB(Tencent Graph Database)。這款資料庫能夠實現萬億級關聯關係數據實時查詢,高效治理異構數據,支持實時圖計算,助力企業打通數據孤島。同時,深度挖掘大數據中的隱藏關聯關係,幫助企業構築全局視角,釋放潛在商業價值。
  • 騰訊雲發布專有雲TCE矩陣 首推AI版專有雲
    【TechWeb報導】1月23日消息,昨日騰訊雲正式對外推出了騰訊專有雲TCE矩陣,矩陣中包含企業版、大數據版、敏捷版以及首推的AI版專有雲。TCE企業版採用了領先的分布式架構平臺,提供IaaS、PaaS、SaaS全量雲產品矩陣,並通過騰訊雲9大產品線的
  • Forrester發布全棧公有雲開發平臺報告,騰訊雲再次入選領導者象限
    今日獲悉,國際領先行業諮詢機構Forrester發布《2020年Q4中國全棧公有雲開發平臺Wave™報告》顯示,騰訊雲再次入選公有雲開發平臺領導者象限。在2018年同主題報告中,騰訊雲也曾入選。
  • 騰訊雲發布了專有雲TCE矩陣,我們研究了下它到底強在哪
    國內雲服務市場適時而動,雲計算應用逐漸從網際網路、遊戲行業向傳統行業延伸,當然也遇到了各式各樣的「上雲」難題,不少企業都迫切需要一種全新的上雲姿勢——不僅是簡單的接入網際網路,而是獲得數位化轉型所需要的AI、大數據、雲化技術等全部能力。1 月 22 日,騰訊專有雲TCE矩陣在北京亮相,四大版本構成的矩陣頗有解鎖上雲新姿勢的意味。
  • 科技雲報導:96%的資料庫還沒有上雲,用戶顧慮什麼?
    騰訊雲副總裁李綱認為,雲資料庫的發展,目前正在經歷從第一階段「資料庫上雲」,即從資料庫到雲資料庫,到第二階段「從雲資料庫到雲原生資料庫」的變革,「雲原生」正是騰訊雲資料庫重要的架構體系。從不同企業的實踐來看,雲原生資料庫呈現多方面的優勢。
  • 小程序聯合騰訊雲推出「雲開發」 騰訊的真實意圖是什麼?
    他是一家員工不到10人的初創公司——潮辦科技的CTO(首席技術官),公司主要銷售手辦、潮玩等產品,有「一番賞ONLINE」和「有尺物」兩條小程序產品線,都是從0到1完全基於雲開發來實現。11月29日,沈澤明在騰訊雲與微信官方聯合主辦的「小程序•雲開發」技術峰會上分享了公司的經歷。
  • 騰訊上線「直播+雲遊戲」互動玩法 但云遊戲商業化還需時間
    9月10日,在2020騰訊全球數字生態大會遊戲專場上,騰訊雲正式推出「互動雲遊戲」解決方案,其中,「直播+雲遊戲」互動新玩法即將在鬥魚上線。   因此,在遊戲研發階段,騰訊雲向客戶開放騰訊遊戲原生的NOSQL資料庫Tcaplus DB,該資料庫支撐騰訊旗下《王者榮耀》、《和平精英》等數百款遊戲,每日4000萬以上PCU,可以幫助遊戲廠商應對高並發訪問需求。   同時,藉助遊戲多媒體引擎GME以及遊戲伺服器引擎GSE,開發者可以減少遊戲功能組件開發上的人力成本,聚焦遊戲邏輯開發、提升研發效率。
  • 2020:AWS雲上八大類型資料庫簡介
    關係型資料庫使用頻率非常高,在2020年11月的十大最流行資料庫TOP10排行中,超過一半的都是關係型資料庫,此外,還有一個文檔資料庫、一個鍵值資料庫、一個寬表資料庫、還有搜尋引擎資料庫,不過,從類型上來看,這還不夠,AWS在公有雲上提供的資料庫類型就有八種。
  • Gartner首次發布全球雲計算IaaS和PaaS魔力象限:騰訊雲入選
    今日獲悉,國際知名調研機構Gartner首次發布的《Magic Quadrant for Cloud Infrastructure and Platform Services》報告中,騰訊雲入選魔力象限代表企業,是入圍本次魔力象限的7家國際廠商之一,這意味著騰訊雲IaaS和PaaS產品能力已進入全球頂級序列
  • 騰訊雲助力遊戲開發者,支持《王者榮耀》《和平精英》4000萬人同時...
    在今天騰訊舉辦的2020全球數字生態大會遊戲專場上,騰訊雲發布了全新升級的遊戲解決方案,以及遊戲伺服器引擎GSE、遊戲原生資料庫TcaplusDB等多款新產品,進一步提升遊戲開發者效率
  • 兩倍速增長的騰訊雲 背後的勢能與動能
    騰訊雲之所以能夠取得這樣的快速增長,背靠騰訊的集團優勢和技術儲備的勢能是第一個原因,而騰訊雲自身在技術創新和市場戰略上不斷的變革和突破則形成了獨特的動能。如何理解騰訊雲?  看勢能 從支持業務到業務支撐  我們知道,騰訊雲本身就是騰訊公司多年來通過網際網路業務的實踐所積累的技術釋放。
  • 騰訊雲突破1000億的瓶頸是什麼?
    數據顯示,騰訊雲服務收入同比增長80%至47億元,是該季度雲計算公司中增速最快廠商。2018年,騰訊雲全年營收增長超過100%至91億元。過去四年,騰訊雲的營收規模均保持了三位數的增長。事實上,騰訊雲在公布其前三季度營收突破100億的消息之前,在今年5月,騰訊雲總裁邱躍鵬就曾向媒體表示,騰訊目前已經邁入「雙百時代」,全網伺服器總數量突破100萬臺,帶寬峰值突破100T。
  • 騰訊雲推出的自研伺服器「星星海」,是不是噱頭?
    作為國內市場份額排名第二的雲服務商,成立6年的騰訊雲也在此時決定推出第一款「自研」伺服器星星海。從整個雲計算市場來看,騰訊雲此時推出自研伺服器並不算早,因為無論是阿里雲、華為雲、百度雲此前都推出過以「自研」為標籤的伺服器產品。騰訊云為什麼在這個時間推出自研伺服器,這是否證明自研伺服器市場還存在空缺?