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

2020-12-16 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!

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

相關焦點

  • 時序資料庫入門系列: 時序數據的查詢
    上篇文章時序資料庫入門系列:什麼是時序資料庫介紹了時序資料庫的定義和發展趨勢,這次接著分享下時序資料庫的查詢相關的概念。
  • 騰訊雲資料庫發布五大資料庫新品
    中國財富網訊(董和佳)據中國證券報·中證網報導,8月28日,騰訊雲資料庫宣布未來將聚焦雲原生、自治、超融合三大戰略方向,並同步發布五大戰略級新品,包括資料庫智能管家DBbrain、雲資料庫TBase、資料庫備份服務DBS、雲資料庫Redis混合存儲版,以及自研雲原生資料庫CynosDB
  • 百度智能雲時序資料庫助力新基建,新計費套餐更優惠、更靈活
    這種超大規模的物聯網數據的處理載體,都是時序資料庫大展身手的舞臺。近日,百度智能雲推出時序數據的新計費形式,助力企業大步跟上新基建的黃金浪潮。時序資料庫可以廣泛應用於包括新基建在內的各大數據應用場景。工業網際網路。工業網際網路是智能製造發展的基礎,工業時序數據是工業網際網路的基礎。舉個例子,在智能生產產線中,設備的運行狀態、工藝流程中的運行數據,會產生上萬個監控點,這些監控點都持續不斷產生時序數據。
  • 騰訊雲資料庫品牌戰略升級 「企業級分布式資料庫TDSQL」亮相
    12月24日,騰訊雲正式宣布其資料庫品牌TDSQL的全新戰略升級計劃及未來發展戰略。未來,騰訊雲原有的TDSQL、TBase、CynosDB三大產品線將統一升級為「騰訊雲企業級分布式資料庫TDSQL」。
  • 騰訊雲資料庫正式啟動戰略升級 發布五大資料庫新品
    8月28日消息,騰訊雲資料庫正式啟動戰略升級,宣布未來將聚焦雲原生、自治、超融合三大戰略方向,並發布五大資料庫新品,包括資料庫智能管家DBbrain、雲資料庫TBase、資料庫備份服務DBS、雲資料庫Redis混合存儲版,以及自研雲原生資料庫CynosDB商業化版本。
  • 騰訊雲發布國內首款Serverless資料庫,成本降低70%
    4月7日,騰訊雲正式發布國內首個Serverless資料庫新品——PostgreSQL for Serverless。相比普通雲上資料庫,該資料庫能夠最快1秒完成部署,成本降低70%。這款新型資料庫將為數百萬開發者帶來更靈活的業務開發模式、更快捷的上雲體驗,以及更大空間的成本優勢。企業數位化進程將全面提速。
  • 騰訊雲發布5款資料庫,產品布局趨完整
    北京時間8月23日消息,騰訊雲對外發布資料庫CDB產品矩陣,並更新發布5款資料庫產品,包括新一代雲資料庫MySQL、雲資料庫HBase、雲資料庫PostgreSQL、分布式資料庫TDSQL、SQLServer2012,以上新品或突破原有產品的性能,或填補雲資料庫領域空白,全面豐富企業使用雲資料庫的選擇
  • 十分鐘看懂時序資料庫(V)- 分布式計算
    作為物聯網領域數據存儲的首選,時序資料庫也越來越多進入人們的視野,而早在2016年7月,百度雲在其天工物聯網平臺上發布了國內首個多租戶的分布式時序資料庫產品TSDB,成為支持其發展製造,交通,能源,智慧城市等產業領域的核心產品,同時也成為百度戰略發展產業物聯網的標誌性事件。
  • 創意信息:公司將增加在時序資料庫和原生區塊鏈資料庫等領域的研發...
    同花順金融研究中心5月18日訊,有投資者向創意信息提問, 你好,請問公司分布式資料庫產品,能否應用於,或者是否考慮應用於數字貨幣?公司回答表示,資料庫方面的研發計劃如下:公司將立足自有產品技術優勢,加大研發投入,加速資料庫雲平臺、Oracle遷移單機工具、事務型資料庫5.0等產品的發布與迭代。事務型資料庫將全面支持全新LSM存儲格式,極大提高超大數據集的寫入性能。同時完整支持SQL標準和存儲過程等各種資料庫對象,滿足雲計算資料庫資源隔離的要求,大幅降低上手難度和運維難度。
  • 騰訊雲發布五大資料庫新品 未來聚焦三大主航道
    【TechWeb】8月28日消息,騰訊雲資料庫正式啟動戰略升級,宣布未來將聚焦雲原生、自治、超融合三大戰略方向,並發布五大資料庫新品,包括資料庫智能管家DBbrain、雲資料庫TBase、資料庫備份服務DBS、雲資料庫Redis混合存儲版,以及自研雲原生資料庫CynosDB商業化版本
  • 三大關鍵詞催生雲上業務井噴,騰訊雲資料庫最新布局率先亮相
    萬物上雲時代,資料庫作為三大基礎軟體之一,其重要性不言而喻。資料庫領域的領先「玩家」騰訊雲在雲時代將會如何布局?在9月11日舉辦的2020騰訊全球數字生態大會資料庫專場上,騰訊雲資料庫副總經理王義成分享了在疫情、新基建、複雜國際形勢等多重因素下騰訊雲對資料庫產業趨勢的精準洞察,並對騰訊雲在新形勢下的資料庫戰略布局進行了詳細解讀。
  • 騰訊安全雲訪問安全代理CASB亮相2020 Techo Park,開闢數據...
    在12月20日由騰訊主辦的2020 Techo Park開發者大會安全分論壇上,騰訊安全雲鼎實驗室針對目前數據安全治理過程中存在的技術規劃、合規難題,正式發布了騰訊安全雲訪問安全代理CASB,利用先進密碼技術保護企業的商業數據以及個人信息數據安全,收斂由敏感數據洩露帶來的企業業務運營風險以及數據合規問題。
  • 騰訊安全雲訪問安全代理CASB亮相2020Techo Park,開闢加密新思路
    在12月20日由騰訊主辦的2020 Techo Park開發者大會安全分論壇上,騰訊安全雲鼎實驗室針對目前數據安全治理過程中存在的技術規劃、合規難題,正式發布了騰訊安全雲訪問安全代理CASB,利用先進密碼技術保護企業的商業數據以及個人信息數據安全,收斂由敏感數據洩露帶來的企業業務運營風險以及數據合規問題。
  • 青雲QingCloud時序資料庫ChronusDB正式上線 打通物聯網數據生命周期
    北京,2020年3月17日——日前,由企業級雲服務商青雲QingCloud自主研發的時序資料庫ChronusDB正式上線。ChronusDB時序資料庫提供超強的查詢分析、高性能並發讀寫、低成本存儲、豐富的時序數據處理等能力,滿足物聯網設備監控分析、工業製造監控分析、系統及業務實時監控等場景的需求,旨在幫助企業實現對物聯網數據的全生命周期管理和智能化分析,推動物聯網產業朝著更加智能化的方向發展。近年來,全球將物聯網視為信息技術的第三次浪潮,是確立未來信息社會競爭優勢的關鍵。
  • AWS宣布Amazon Timestream時序資料庫正式可用 已在美國東部等區域...
    10月12日消息,亞馬遜雲服務(AWS)宣布Amazon Timestream正式可用。作為一款面向物聯網和運營應用的全新時序資料庫,Amazon Timestream每天可處理數萬億規模的時序事件,速度比關係型資料庫快多達1000倍,而成本卻低至其1/10。
  • 前沿探索:騰訊雲資料庫自治服務最佳實現
    導語 |雖然資料庫上雲解決了傳統資料庫很多問題,但如何讓雲資料庫發揮最優的效能,依然充滿極大挑戰。為解決這一難題,高速發展的雲資料庫正在走向「自治」。本文是對騰訊雲資料庫高級產品經理劉迪在雲+社區沙龍online的分享整理,為大家帶來騰訊雲在資料庫自治服務領域的探索和實踐,希望與大家一同交流。
  • 騰訊雲TDSQL金融政企用戶突破600家,資料庫國產化成為主流
    本文轉自【TechWeb】;5月14日,騰訊雲對外透露TDSQL資料庫的金融政企用戶數突破600家。作為一款騰訊自主研發的金融級資料庫,TDSQL正在成為眾多金融機構數位化升級過程中的「使命擔當」。「高頻帳戶類交易耗時在 300 毫秒之內、20 秒內可以完成 1 萬筆批量代發代扣業務、資料庫系統綜合硬體成本降至1/5甚至更低……」,這樣一組亮眼的數據來自張家港農商行在資料庫國產化遷移之後。去年,張家港行基於國產金融級自主可控資料庫騰訊TDSQL打造的新一代核心業務系統,成功上線後便成為業界關注的焦點。
  • 大公司日報|騰訊雲資料庫8.0正式上線;小米發布Poco新機
    核心要聞1、騰訊雲資料庫 MySQL 8.0 正式上線,目前已提供20多種資料庫服務7月8日消息,騰訊雲MySQL 8.0今日正式發布。據了解騰訊雲MySQL 8.0在MySQL官方版本大幅度提升性能的基礎上,通過優化鎖系統,事務系統等模塊,進一步提升了性能,使得QPS達到70w+。根據鈦媒體消息,騰訊雲資料庫 MySQL 8.0的內核可以百分百完全兼容主流MySQL分支。同時,騰訊雲資料庫MySQL版(CDB) 還提供熱備、冷備、跨可用區切換三重容災體系,使用戶可以專注於業務的開發。
  • ASP.NET Core2讀寫InfluxDB時序資料庫
    而時序資料庫就是用於存放管理這種有著時間順序數據的,時序資料庫一般都支持時序數據的快速寫入、持久化、多緯度的聚合查詢等基本功能。 InfluxDB簡介InfluxDB是一個基於時間序列數據而開發的高性能數據存儲平臺,它可以對時序數據進行高吞吐量的攝取、壓縮和實時查詢。
  • 資料庫基礎研究新進展:騰訊雲TDSQL首度公開分布式多級一致性技術...
    騰訊雲TDSQL資料庫長期致力於基礎研究創新,並持續獲得關鍵技術突破。近日,在第11屆DTCC(中國資料庫技術大會)大會上,騰訊雲TDSQL資料庫宣布實現了分布式資料庫領域高性能的強一致性工程系統。「高性能分布式事務下的事務一致、分布式一致,一直是業界難題,」騰訊雲TDSQL資料庫專家工程師李海翔介紹,確保正確性的系統,未必能夠有效運用到實際的環境中,因為高性能是衡量一個系統應用的核心指標。過去業界的一些分布式系統或資料庫應用,其正確性能夠保證,但性能低下,因此這些系統具有象徵意義,而實踐中對於金融級等事務處理場景,其性能不符合要求。