分散式時序資料庫InfluxDB
InfluxDB 是一個開源分散式時序、事件和指標資料庫。使用 Go 語言編寫,無需外部依賴。其設計目標是實現分散式和水平伸縮擴充套件。
它有三大特性:
1. Time Series (時間序列):你可以使用與時間有關的相關函式(如最大,最小,求和等)
2. Metrics(度量):你可以實時對大量資料進行計算
3. Eevents(事件):它支援任意的事件資料
特點
- schemaless(無結構),可以是任意數量的列
- Scalable
- min, max, sum, count, mean, median 一系列函式,方便統計
- Native HTTP API, 內建http支援,使用http讀寫
- Powerful Query Language 類似sql
- Built-in Explorer 自帶管理工具
管理介面:
API
InfluxDB 支援兩種api方式
- HTTP API
- Protobuf API
Protobuf 還未開發完成, 官網文件都沒有
如何使用 http api 進行操作?
比如對於foo_production
這個資料庫,插入一系列資料,可以發現POST
請求到 /db/foo_production/series?u=some_user&p=some_password
,
資料放到body裡。
資料看起來是這樣的:
下面的"name": "events", 其中"events"就是一個series
,類似關係型資料庫的表table
格式是json,可以在一個POST
請求傳送多個 series
, 每個 series
裡的 points
可以是多個,但索引要和columns
對應。
上面的資料裡沒有包含time
列,InfluxDB會自己加上,不過也可以指定time
,比如:
time 在InfluxDB裡是很重要的,畢竟InfluxDB是time series database
在InfluxDB裡還有個sequence_number
欄位是資料庫維護的,類似於mysql的 主鍵概念
InfluxDB 增刪更查都是用http api來完成,甚至支援使用正規表示式刪除資料,還有計劃任務。
比如:
傳送POST
請求到 /db/:name/scheduled_deletes
,
body如下,
這個查詢會刪除大於14天的資料,並且任何以stats開頭的資料,並且每天3:00 AM執行。
更加詳細檢視官方文件: http://influxdb.org/docs/api/http.html
查詢語言
InfluxDB 提供了類似sql的查詢語言
看起來是這樣的:
非常容易上手, 還支援Group By
, Merging
Series
, Joining Series
, 並內建常用統計函式,比如max, min, mean 等
文件: http://influxdb.org/docs/query_language/
庫
常用語言的庫都有,因為api簡單,也很容易自己封裝。
InfluxdDB作為很多監控軟體的後端,這樣監控資料就可以直接儲存在InfluxDB
StatsD
, CollectD
, FluentD
還有其它的視覺化工具支援InfluxDB, 這樣就可以基於InfluxDB很方便的搭建監控平臺
InfluxDB 資料視覺化工具
InfluxDB 用於儲存基於時間的資料,比如監控資料,因為InfluxDB本身提供了Http API,所以可以使用InfluxDB很方便的搭建了個監控資料儲存中心。
對於InfluxDB中的資料展示,官方admin有非常簡單的圖表, 看起來是這樣的
除了自己寫程式展示資料還可以選擇:
tasseo
tasseo,為Graphite寫的Live dashboard,現在也支援InfluxDB,tasseo 比較簡單, 可以配置的選項很少。
Grafana
Grafana是一個純粹的html/js應用,訪問InfluxDB時不會有跨域訪問的限制。只要配置好資料來源為InfluxDB之後就可以,剩下的工作就是配置圖表。Grafana 功能非常強大。使用ElasticsSearch儲存DashBoard的定義檔案,也可以Export出JSON檔案(Save ->Advanced->Export Schema),然後上傳回它的/app/dashboards目錄。
配置資料來源:
相關文章
- 時序資料庫influxdb資料庫UX
- 時序資料庫之InfluxDB的基本操作資料庫UX
- Spring Boot中使用時序資料庫InfluxDBSpring Boot資料庫UX
- 時序資料庫InfluxDB的基本語法資料庫UX
- 深入淺出:瞭解時序資料庫 InfluxDB資料庫UX
- 高速遷移MySQL資料到分散式時序資料庫DolphinDBMySql分散式資料庫
- 時序資料庫InfluxDB之備份和恢復策略資料庫UX
- 時序資料庫 InfluxDB 之備份和恢復策略資料庫UX
- 分散式時序資料庫QTSDB的設計與實現分散式資料庫QT
- ASP.NET Core2讀寫InfluxDB時序資料庫ASP.NETUX資料庫
- 重磅 | 物聯網資料分析利器 阿里雲釋出時序資料庫InfluxDB版阿里資料庫UX
- 時序資料庫資料庫
- 實時資料庫與時序資料庫資料庫
- 分散式資料庫分散式資料庫
- CnosDB 狂歡!全面支援 Helm 部署,輕鬆搞定你的分散式時序資料庫!分散式資料庫
- 資料庫新兵:分散式實時分析記憶體資料庫eSight資料庫分散式記憶體
- 初識時序資料庫資料庫
- 時序資料庫-01-時序資料庫有哪些?為什麼要使用資料庫
- 【融雲分析】從過剩儲存資源到分散式時序資料庫的長儲存分散式資料庫
- 墨天輪國產資料庫沙龍 | 張瑋絢:TDengine,高效能、分散式、支援SQL的時序資料庫資料庫分散式SQL
- 時序資料從通用資料庫切換到influxdb後,在查詢、分析方面能獲取哪些便利?資料庫UX
- 【時序資料庫InfluxDB】Windows環境下配置InfluxDB+資料視覺化,以及使用 C#進行簡單操作的程式碼例項資料庫UXWindows視覺化C#
- QuestDB時序資料庫介紹資料庫
- openGauss 分散式資料庫能力分散式資料庫
- 分析型資料庫:分散式分析型資料庫資料庫分散式
- 分散式資料庫 ZNBase 的分散式計劃生成分散式資料庫
- Prometheus時序資料庫-資料的查詢Prometheus資料庫
- 時序資料庫連載系列:當SQL遇到時序TimescaleDB資料庫SQL
- 時序資料庫的叢集方案?資料庫
- 《分散式資料庫HBase案例教程》分散式資料庫
- 時間序列化資料庫選型?時序資料庫的選擇?資料庫
- 分散式資料庫火了 開源填補資料庫空白分散式資料庫
- 【大資料】BigTable分散式資料儲存系統分散式資料庫 | 複習筆記大資料分散式資料庫筆記
- 聊一聊時序資料庫和TimescaleDB資料庫
- 聊聊時序資料庫發展情況資料庫
- 時序資料庫的秘密 —— 快速檢索資料庫
- 分散式資料庫系統(DDBS) 概述分散式資料庫
- 聊聊分散式 SQL 資料庫Doris(七)分散式SQL資料庫
- 聊聊分散式 SQL 資料庫Doris(六)分散式SQL資料庫