為物聯網而生:高性能時間序列數據庫HiTSDB商業(yè)化首發(fā)!

近日,阿里云宣布高性能時間序列數據庫 (High-Performance Time Series Database , 簡稱 HiTSDB) 正式商業(yè)化。

先跟大家聊一下什么叫時序數據。簡單的說,就是時間上分布的一系列數值,關鍵字是數值,我們一般認為的時序數據是什么時間發(fā)生了什么事情,但是在時序數據這個領域里定義的時序數據全都是跟數值有關的。也就是說,如果只是一個帶有時間戳的一條數據并不能叫做時序數據。舉個例子,比如像我早上8點半上樓吃了個飯這條記錄,相當于一個日志,這個本身不構成一個時序數據,但是如果某個餐廳早上8點半同時有50個人在那里吃飯,這個50加上餐廳的信息再加這個時間點就構成了一個時序數據。

單值與多值建模

實際上通用的建模方式有兩種,其中的一種是單值。實際上我們是針對不同的東西來建模的,多值的模型是針對數據源建模,我們每一行數據針對的是一個數據源,它的三個被測量的指標在同一列上,所以每一個數據源,數據的來源在每一個時間點上都有一行,這就是多值的模型。

為物聯網而生:高性能時間序列數據庫HiTSDB商業(yè)化首發(fā)!

還有一種模型是單值的模型,單值的模型我們是把它測量的精確到時間序列上,也就在時間序列的每個時間點上只有一個值,所以是個單值,也就是說對于多值模型來說它每一行數據對應的是一個數據源,對于單值模型來說它對應的是一個時間序列,實際上多值模型對應的是一個數據源在一個時間點上就會產生一行數據,而在單值模型里一個數據源上面的每一個指標會產生一行數據。

什么是插值和降精度?

如上前面所講,時間序列會分布在一些時間線上,數據源和測量指標確定了的話,時間序列是隨著時間軸往后分布的,實際上它的采樣在一個典型的場景里是固定時間間隔的,它中間一些點做處理會牽扯到插值和降精度處理。比如說中間丟失了一個點,比較簡單的方法是中間插一個值,常用的方法是線性插值,就是在時間軸上畫一個直線中間的點就插出來了。

為物聯網而生:高性能時間序列數據庫HiTSDB商業(yè)化首發(fā)!

另一個叫降精度,例如我們有個按秒采樣的時間序列,顯示時間范圍是一年的數據,為了便于查看,需要把時間精度降到一天。比如我們只選這一天中的最大值或者最小值或者平均值,作為這一天的氣溫,也就是最高氣溫,最低氣溫和平均氣溫的概念。用算法或者把時序數據轉換成精度比較低的時間序列以便于觀察和理解它,這是在傳統數據庫里沒有的一種方式。

為物聯網而生:高性能時間序列數據庫HiTSDB商業(yè)化首發(fā)!

再一個就是數據聚合,也是非常典型的基于設備的數據統計,比如這里有很多設備指標數據構成的時間線,時序數據的聚合是在時間線的維度上的,而不是按點的,在處理平時處理的空間聚合的話,一般是把很多數據點按照一個個聚合起來,而實際數據處理的時候一般會把它抽象的點連成線就是剛才看的時間序列,每個數據源在一個測量值上會產生一行時間線,加上時間序列,如果是根據某一個維度上的測量的話,在同一維度就能調成線就把時間序列處理出來了。

舉個例子, 智慧園區(qū)的業(yè)務系統需要查看一個樓宇的某盞燈的耗電量情況,那么就需要把這盞燈的耗電量數據從數據庫中查詢并展示出來,如果由于采集的故障導致某個時刻用電量數據缺失,那么需要通過特定算法來近似的估算出這個數據,這個計算補全數據的過程就是“插值”。而當需要查看這盞燈一年的耗電趨勢情況時,通常只需要計算出每一天的耗電量,進行查看,而不需要把每一個時刻采集的數據全部輸出出來,這個將原始精度轉化為業(yè)務需求精度的過程就是“降精度”。而如果要統計某一個樓層或者樓宇的用耗電量整體趨勢數據時,就需要將所有統計范圍內的燈具的耗電量數據做“合并統計”,這個類似的統計過程就是Aggregation。

時序數據降精度是在時間序列維度上做的。對于關系數據庫來說,首先要把時間序列維度拿出來,然后在中間插值,而實際上 SQL 是按點來操作的。所以如果要做降精度的話,需要用一個值查詢把整條時間序列上的數據查詢出來,插好值之后才能做時間序列之間的聚合,那么服務和 SQL 服務器之間的吞吐量非常大,相當于 SQL 只是一個數據通道需要把所有值都拉出來運算一遍,這個查詢性能會非常慢,并且每一次計算都需要重新拉取數據,相對 HiTSDB,這個性就能差了幾百倍,在空間聚合 Aggregator 支持也非常全面,支持 ADhoc 查詢,HiTSDB 通過引入倒排索引和數據分片提升檢索時間序列的效率,通過并行計算架構,整體計算性能提升非常明顯。

HiTSDB高壓縮技術 存儲成本降低90%

物聯網領域是最典型的時序數據產生和應用的場景,這些場景具備一些特征,技術數據量特別大,比如某個智能設備的溫度傳感器,首先第一是時間序列會持續(xù)的產生大量的數據,持續(xù)的產生什么意思呢?因為我們往往對時間序列來說是定時采樣功能,如果每秒測量一次,一天是86400秒,如果24小時都要用,平均每一個傳感器儀表在一個時間點上產生一個數據點,一個儀表就產生86400個數據,如果把全國各個縣都布一個采樣點,那一天數據就上億了,實際上大家作為氣象采樣來說每一個縣對應一個溫度傳感器顯然有點不夠的,可能我們是每一個街道甚至每個小區(qū)都有這樣的傳感器,那么這個數據加起來實際上是一個非常驚人的數字。

利用HiTSDB 的高壓縮技術,相比較 OpenTSDB 提升10倍左右,通常原始時序數據的大小在 200-300 Byte,OpenTSDB 單數據點消耗約20 Byte,HiTSDB 單數據點消耗約 2Byte,通過 HiTSDB 可以節(jié)約90%以上的數據庫存儲成本。

對于物聯網平臺企業(yè)可以利用HiTSDB 和阿里云的產品能力基于如下的架構構建云上的物聯網平臺。

為物聯網而生:高性能時間序列數據庫HiTSDB商業(yè)化首發(fā)!

HiTSDB 除了在云上提供高效的時序數據服務能力,企業(yè)可以也可以利用HiTSDB 結合阿里云工業(yè)大腦和城市大腦的大數據方案實現智能制造生產和智慧城市。 利用HiTSDB 的“邊緣+ 中心”的解決方案,可以滿足工業(yè)物聯網IoT尤其是電力能源行業(yè)的數據邊緣端本地存儲分析,逐級數據上報 ,以及網絡不穩(wěn)態(tài)的數據數據穩(wěn)定上報和中心端的全局設備數據監(jiān)控分析,打通智慧大腦的數據通道。

為物聯網而生:高性能時間序列數據庫HiTSDB商業(yè)化首發(fā)!

HiTSDB商業(yè)化首發(fā)期間,官網推出85折優(yōu)惠活動。

極客網企業(yè)會員

免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。

2018-03-23
為物聯網而生:高性能時間序列數據庫HiTSDB商業(yè)化首發(fā)!
近日,阿里云宣布高性能時間序列數據庫 (High-Performance Time Series Database , 簡稱 HiTSDB) 正式商業(yè)化。

長按掃碼 閱讀全文