近年來,因爲IOT,APM等系統的需求,一種以時間戳爲主鍵的數據模型,愈來愈流行,存儲該數據模型的數據庫被稱爲時序數據庫。
若干年中,市面上出現了不少種不一樣的時序數據庫,他們或數據模型不一樣,或生態不一樣,或存儲架構不一樣。通過數年的發展,InfluxDB一枝獨秀,在DB-Engines中,遙遙領先其餘的時序數據庫,成爲最受用戶歡迎的數據庫之一。
html
阿里雲時序數據庫InfluxDB®️版上線
爲了知足廣大物聯網企業客戶的對於InfluxDB的商業化需求, 阿里雲時序數據庫團隊正式推出時序數據InfluxDB®️版。 時序數據InfluxDB®️版是基於開源InfluxDB提供的商業化時序數據庫服務,免部署,零運維,高可靠,提供7*24小時專家答疑服務。數據庫
如今已經開始全面公測。
公測購買頁面:
https://common-buy.aliyun.com...架構
InfluxDB場景
InfluxDB是由於物聯網而興起的數據庫,其天生具備IOT的特性。幾乎全部的物聯網數據均可以經過InfluxDB存儲,分析與展現。併發
InfluxDB的具體使用場景包括:智慧物聯網監控分析系統,傳統石油化工、採礦以及製造企業設備數據採集與分析,醫療數據採集與分析,車聯網,智慧交通等。InfluxDB同時還能夠用於日誌數據存儲與分析,各類服務、軟件以及系統監控數據採集、分析與報警,金融數據採集與分析等。運維
總之,只要符合寫多讀少、無事務要求、海量高併發持續寫入、基於時間區間聚合分析以及基於時間區間快速查詢的數據均可以使用InfluxDB。curl
InfluxDB介紹
InfluxDB之因此能在衆多時序數據庫中成爲DB-Engines中排名第一的時序數據庫,來源它的幾大優點:函數
完整的生態
易用性
完整的生態TICK
InfluxDB不只僅只提供存儲服務,還提供了周邊的工具,他們包括Telegraf, Chronograf以及Kapacitor。加上InfluxDB,他們的首字母剛好組成一個秒鐘跳動一次的英文單詞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'
同時,用戶也能夠經過InfluxDB提供Command Line Interface(命令行界面)寫入數據:
INSERT weather,location=us-midwest temperature=82 1465839830100400200
InfluxDB提供的多樣化數據插入方式,可讓用戶在不一樣平臺快速的插入數據。
數據查詢
InfluxDB提供SQL-like的查詢語句:InfluxQL。InfluxSQL支持SQL風格的查詢操做,關係型數據庫的用戶能夠無縫切換到InfluxDB的使用。例如:從measurement h2o_feet查詢5條記錄:
SELECT * FROM h2o_feet LIMIT 5
name: h2o_feet
time level description location water_level
2015-08-18T00:00:00Z below 3 feet santa_monica 2.064
2015-08-18T00:00:00Z between 6 and 9 feet coyote_creek 8.12
2015-08-18T00:06:00Z between 6 and 9 feet coyote_creek 8.005
2015-08-18T00:06:00Z below 3 feet santa_monica 2.116
2015-08-18T00:12:00Z between 6 and 9 feet coyote_creek 7.887
關於InfluxQL的具體用法,能夠參考阿里雲時序數據庫InfluxDB®️的文檔:數據探索
(https://help.aliyun.com/docum...)
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_feet
time max
2015-09-18T16:00:00Z 3.599
2015-09-18T16:12:00Z 3.402
2015-09-18T16:24:00Z 3.235
2015-09-18T16:36:00Z
group by的具體用法請參考:數據探索
先進的時序數據分析技術
InfluxQL除了支持SQL-like的查詢語句,提供了大量的函數支持對時序數據進行分析。這些分析函數分爲四大類:
Aggregation(聚合),Selector(選擇),Transformation(轉換)和預測(Prediction)。這些分析函數可以幫助用戶輕鬆地時序數據轉化爲有用的信息。
除此以外,InfluxDB提供8種不一樣的分析技術,用戶無需本身用InfluxQL實現這幾種分析技術,能夠直接使用這些分析技術進行金融以及投資方面的數據分析。
InfluxQL函數以及分析技術的具體用法請參考:InfluxQL函數
(https://help.aliyun.com/docum...)
阿里雲時序數據庫InfluxDB®️版優點
阿里雲時序數據庫InfluxDB®️版,在徹底兼容InfluxDB行協議以及InfluxQL的基礎上作了不少改進,給用戶更多穩定、可靠、方便的服務。
數據高可靠
阿里雲時序數據庫InfluxDB®️版的數據存儲在阿里雲的高效雲盤上,高效雲盤提供99.9999999%數據高可靠的保障。這樣能夠保障InfluxDB中數據一旦寫入,就永遠不會丟失。
高穩定性
阿里雲時序數據庫InfluxDB®️版實現了對內存,硬盤等資源的有效管理,能夠極大地減小因爲硬件資源不夠引發的InfluxDB不穩定的狀況。
數據圖形化展現
阿里雲時序數據庫InfluxDB®️版與grafana,chronograf等圖形展現平臺無縫連接,用戶購買阿里雲時序數據庫InfluxDB®️,阿里雲自動爲用戶配置好圖形展現平臺的數據源,用戶直接到圖形展現平臺完成本身須要的圖形化dashboard。(公測結束後提供該功能)
全自動化數據遷移工具
阿里雲時序數據庫InfluxDB®️版提供全自動的數據遷移工具,用戶「一鍵式」將自建的InfluxDB遷移到阿里雲時序數據庫InfluxDB®️版。
全自動Failover
阿里雲時序數據庫InfluxDB®️版提供全自動Failover機制,一旦所在硬件發生不可恢復的故障,InfluxDB會在很是短的時間內使用其餘硬件替換故障硬件,而後重啓InfluxDB。這樣能夠減小由於不可控故障引起的服務中斷時間。該Failover是全自動的,無需人工干預,即便是在節假日以及午夜,用戶也無需擔憂服務因爲硬件故障形成的長時間不可用。(全自動Failover公測期間暫時不可用)
高可用版InfluxDB®️阿里雲時序數據庫InfluxDB®️版將在公測結束之後提供高可用版本。高可用版將提供更加穩定的服務,對穩定性要求比較高的用戶,將會從中感覺到無限穩定的服務。