近年來,由於IOT,APM等系統的需求,一種以時間戳為主鍵的數據模型,越來越流行,存儲該數據模型的資料庫被稱為時序資料庫。
阿里雲時序資料庫InfluxDB??版上線
為了滿足廣大物聯網企業客戶的對於InfluxDB的商業化需求, 阿里雲時序資料庫團隊正式推出時序數據InfluxDB??版。 時序數據InfluxDB??版是基於開源InfluxDB提供的商業化時序資料庫服務,免部署,零運維,高可靠,提供7*24小時專家答疑服務。
現在已經開始全面公測。
複製鏈接到網頁端 或掃描下方二維碼,即可查看相關文檔:
InfluxDB場景
InfluxDB是因為物聯網而興起的資料庫,其天生具有IOT的特性。幾乎所有的物聯網數據都可以通過InfluxDB存儲,分析與展示。
InfluxDB的具體使用場景包括:智慧物聯網監控分析系統,傳統石油化工、採礦以及製造企業設備數據採集與分析,醫療數據採集與分析,車聯網,智慧交通等。InfluxDB同時還可以用於日誌數據存儲與分析,各種服務、軟體以及系統監控數據採集、分析與報警,金融數據採集與分析等。
總之,只要符合寫多讀少、無事務要求、海量高並發持續寫入、基於時間區間聚合分析以及基於時間區間快速查詢的數據都可以使用InfluxDB。
InfluxDB介紹
InfluxDB之所以能在眾多時序資料庫中成為DB-Engines中排名第一的時序資料庫,來源它的幾大優勢:
完整的生態TICK
Telegraf: Telegraf是一個開源的時序數據收集器。它收集各種不同的時序數據,並把數據通過InfluxDB標準API發送給InfluxDB。Telegraf採用插件的方式,目前支持100多種不同服務的時序數據收集,用戶可以開發自定義的插件收集數據。
Chronograf: Chronograf是整個TICK生態的UI界面層。它讓用戶可以通過圖形界面展現InfluxDB中的數據,同時它可以配置InfluxDB參數以及收集Kapacitor發送的報警信息
Kapacitor: Kapacitor是一個事件處理及報警引擎,它能夠根據建立的規則對異常時序數據進行報警,同時能夠將這些警告發送給其他系統。
通過使用TICK生態,用戶能輕鬆構建一個時序數據收集,存儲,分析以及告警的完整系統。
InfluxDB易用性
InfluxDB數據寫入以及數據查詢特別方便,其讀寫採用的是Restful API,用戶可以通過HTTP/HTTPS方式直接讀寫數據。
數據寫入
InfluxDB數據採用行協議方式寫入。下面是一個行協議的示例數據:
InfluxDB支持通過curl直接將數據寫入InfluxDB:
curl -i -XPOST https://localhost:8086/write?db=mydb --data-binary temperature,machine=unit42,type=assembly >external=25,internal=37 1434055562000000000
?
INSERT weather,location=us-midwest temperature=82 1465839830100400200
數據查詢
InfluxDB提供SQL-like的查詢語句:InfluxQL。InfluxSQL支持SQL風格的查詢操作,關係型資料庫的用戶可以無縫切換到InfluxDB的使用。例如:從measurement h2o_feet查詢5條記錄:
SELECT * FROM h2o_feet LIMIT 5name: h2o_feettime level description location water_level 2015-08-18T00:00:00Z below 3 feet santa_monica 2.0642015-08-18T00:00:00Z between 6 and 9 feet coyote_creek 8.122015-08-18T00:06:00Z between 6 and 9 feet coyote_creek 8.0052015-08-18T00:06:00Z below 3 feet santa_monica 2.1162015-08-18T00:12:00Z between 6 and 9 feet coyote_creek 7.887
SELECT * FROM h2o_feet LIMIT 5
2015-08-18T00:00:00Z below 3 feet santa_monica 2.064
InfluxQL支持按照時間戳對數據分組的查詢方式,只需要在influxQL後加上group by(分組時間間隔)即可:
SELECT MAX("water_level") FROM "h2o_feet" WHERE "location"=coyote_creek AND time >= 2015-09-18T16:00:00Z AND time <= 2015-09-18T16:42:00Z GROUP BY time(12m) name: h2o_feettime max2015-09-18T16:00:00Z 3.5992015-09-18T16:12:00Z 3.4022015-09-18T16:24:00Z 3.2352015-09-18T16:36:00Z
SELECT MAX("water_level") FROM "h2o_feet" WHERE "location"=coyote_creek AND time >= 2015-09-18T16:00:00Z AND time <= 2015-09-18T16:42:00Z GROUP BY time(12m)
name: h2o_feet
group by的具體用法請參考:數據探索
先進的時序數據分析技術
InfluxQL除了支持SQL-like的查詢語句,提供了大量的函數支持對時序數據進行分析。這些分析函數分為四大類:
Aggregation(聚合),Selector(選擇),Transformation(轉換)和預測(Prediction)。這些分析函數能夠幫助用戶輕鬆地時序數據轉化為有用的信息。
除此之外,InfluxDB提供8種不同的分析技術,用戶無需自己用InfluxQL實現這幾種分析技術,可以直接使用這些分析技術進行金融以及投資方面的數據分析。
InfluxQL函數以及分析技術的具體用法請參考:InfluxQL函數
阿里雲時序資料庫InfluxDB??版優勢
阿里雲時序資料庫InfluxDB??版,在完全兼容InfluxDB行協議以及InfluxQL的基礎上做了很多改進,給用戶更多穩定、可靠、方便的服務。
數據高可靠
高穩定性
數據圖形化展示
全自動化數據遷移工具
全自動Failover
高可用版InfluxDB??
7*24小時阿里雲專業維護
總結
阿里雲時序資料庫InfluxDB??版不但提供原生InfluxDB的全部優秀功能兼容TICK生態,同時還在穩定性、可靠性、維護上提供優化服務,讓用戶無限享受InfluxDB優點。
掃描下方二維碼
查看阿里雲時序資料庫InfluxDB??版文檔