阿里雲高效能時序資料庫 HiTSDB 啟動公測!

dicyt發表於2017-07-31

摘要: 2017雲棲大會·上海峰會上,阿里雲釋出了面向物聯網場景的高效能時間序列資料庫 (High-Performance Time Series Database , 簡稱 HiTSDB) 。HiTSDB 可支援每秒1000萬時序資料點寫入;具備PB級別的資料儲存能力,提供高效壓縮演算法,整體儲存成本降低90%;提供時序資料插值計算,降精度計算,時間緯度聚合計算,空間緯度聚合計算的能力。

HiTSDB 是一種高效能、低成本、穩定可靠的線上時序資料庫服務;提供高效讀寫,高壓縮比儲存、時序資料插值及聚合計算。是物聯網(IoT)裝置監控系統 ,企業能源管理系統(EMS),生產安全監控系統,電力檢測系統等行業領域的專業資料庫。

HiTSDB 打造物聯網智慧園區

HiTSDB 已經在阿里巴巴內部孵化多年,在阿里巴巴集團已經支援了20多個核心業務場景,比如阿里智慧園區的物聯網(IoT)建設。

智慧園區主要解決辦公園區的裝置的管理和智慧控制。裝置管理主要是將裝置接入到統一的裝置管理平臺,同時對所有裝置的執行情況進行監控,及時發現故障裝置,瞭解整體的裝置執行情況以便於做出相應的決策。

而智慧控制就是系統能夠根據裝置的執行狀態,通過某些規則的設定自動的進行各種調控,比如:當某個辦公區域的人數大於20人時,可以自動開啟亮燈,小於20人是可以自動關燈,或者當某一區域的一氧化碳的水平高於預警值,則自動啟動報警開關,對於園區的安全管理也非常必要。

對於技術而言,裝置的監控和智慧控制的規則的匹配,本質是資料的收集和監控分析。

園區的裝置種類繁多,包括攝像頭、電燈、空調、空氣檢測,這些裝置上都有非常多的感測器,這些感測器每一時刻都在實時的產生資料,這些資料隨著時間的推進,會在時間軸上產生一些列的資料,就是我們說的時序資料,比如溫度、溼度、用電量等。要實現裝置的監控管理,其實就是將這時序資料進行實時的採集儲存和分析展現,而 HiTSDB 就是時序資料領域的專業資料庫。

HiTSDB 叢集可支援每秒 1000 萬的時序資料點寫入

HiTSDB 具備關聯式資料庫及NoSQL 資料庫所不具備的寫入能力。

智慧園區以及其他的IoT場景,裝置的規模通常是萬級別至百萬級別,每個裝置都實時產生資料,需要將實時資料快速的寫入到資料庫中,那麼每秒就要寫入上百萬甚至上千萬的實時資料。

百萬甚至千萬級別的實時資料寫入對於資料庫併發寫入的壓力非常巨大,使用關係型資料庫完全不可行。 因為 InnoDB 的寫入效能是很有限的,實際測試在24臺機器上,儲存使用SSD硬碟,一秒鐘只能持續寫入只有兩萬左右,主要原因在於B樹索引。InnoDB 的索引是一個B樹,這個B樹的更新有很大的開銷。雖然我們可以通過一些辦法優化,但時序數通常是一個多維資料,通常是 ADhoc 的查詢,為了優化所有排列組合查詢,需要建很多多列的索引,這些索引每次在寫的時候每個都需要更新,所以就會導致很多的IO。

而 HiTSDB 針對時序資料庫的進行寫入優化,基於時間序列的時間線資料結構進行儲存寫入,實際業務使用場景中最高支援到每秒 1000 萬的時序資料點寫入。基於阿里雲 4C8G規格的 ECS,單臺平均達到10萬/秒的資料寫入,峰值達15萬/秒。

HiTSDB 具備領先的時序資料分析技術優勢

在資料查詢方面,HiTSDB 也具備領先的技術優勢。在時序資料領域“插值(interpolation)”,“降精度(DownSimple)”以及“聚合計算(Aggregation)”是常見的業務需求。舉個例子, 智慧園區的業務系統需要檢視一個樓宇的某盞燈的耗電量情況,那麼就需要把這盞燈的耗電量資料從資料庫中查詢並展示出來,如果由於採集的故障導致某個時刻用電量資料缺失,那麼需要通過特定演算法來近似的估算出這個資料,這個計算補全資料的過程就是“插值”。而當需要檢視這盞燈一年的耗電趨勢情況時,通常只需要計算出每一天的耗電量,進行檢視,而不需要把每一個時刻採集的資料全部輸出出來,這個將原始精度轉化為業務需求精度的過程就是“降精度”。而如果要統計某一個樓層或者樓宇的用耗電量整體趨勢資料時,就需要將所有統計範圍內的燈具的耗電量資料做“合併統計”,這個類似的統計過程就是Aggregation。

時序資料降精度是在時間序列維度上做的。對於關聯式資料庫來說,首先要把時間序列維度拿出來,然後在中間插值,而實際上 SQL 是按點來操作的。所以如果要做降精度的話,需要用一個值查詢把整條時間序列上的資料查詢出來,插好值之後才能做時間序列之間的聚合,那麼服務和 SQL 伺服器之間的吞吐量非常大,相當於 SQL 只是一個資料通道需要把所有值都拉出來運算一遍,這個查詢效能會非常慢,並且每一次計算都需要重新拉取資料,相對 HiTSDB,這個性就能差了幾百倍。

HiTSDB 支援線性插值,可以儘量彌補資料異常缺失造成的統計失敗。HiTSDB 支援 Max ,Min ,AVG 等各種降精度的計算函式,同時也可以通過“預降精度”的方式,將業務精度的資料在入庫的過程中計算完成,提升查詢的效率。HiTSDB 在的空間聚合 Aggregator 支援也非常全面,支援 ADhoc 查詢,HiTSDB 通過引入倒排索引和資料分片提升檢索時間序列的效率,通過平行計算架構,整體計算效能提升非常明顯。

HiTSDB 相容 OpenTSDB 協議,寫入效能提升20倍,壓縮效率提升10倍。

HiTSDB 相容 OpenTSDB 訪問協議。OpenTSDB 是時序資料庫領域相對活躍的技術產品,HiTSDB 通過技術優化後相對於 OpenTSDB 寫入效能提升20倍以上。HiTSDB 壓縮效率相比較 OpenTSDB 提升10倍左右,通常原始時序資料的大小在 200-300 Byte,OpenTSDB 單資料點消耗約20 Byte,HiTSDB 單資料點消耗約 2Byte,通過 HiTSDB 可以節約90%以上的資料庫儲存成本。

HiTSDB 所具備的高效資料寫入和高壓縮比的特性,以及阿里長期業務實踐的所提供的穩定性保證,結合阿里雲上豐富的產品生態,可以幫助 IoT 企業快速構建自己的智慧物聯網監控分析系統,也可以幫助傳統的石油化工及製造企業插上物聯網的翅膀,打造屬於企業自己的智慧系統。

現在,HiTSDB 在阿里雲官網啟動免費公測。公測名額有限,立即申請

http://click.aliyun.com/m/27110/

相關文章