License : MIT

InfluxDB是一個用Go語言編寫的一個開源分散式時序、事件和指標時間序列資料庫, 主要設計的目標在處理高度的”寫入”和”查詢負載”。當設計作為大量帶有時間戳資料的後備儲存,包括DevOps監控,應用程式指標,物聯網感測器資料和實時分析等的應用。

InfluxDB 也是一個開源分散式時序、事件和指標資料庫,它無需依賴外部其它的軟體系統, 例如: 不需要JAVA JVM。其設計目標是實現分散式和水平衡向擴展。也具備有度量(Metric)/資料的期限管理功能, 同時含括了到”表”的權限管理並內置命令模式(CLI)和原生支援 HTTP 的 HTTP API服務。

這個時序資料庫(TSDB) 支援 Linux / Windows 系統, 很容易的在實體機/虛擬機/Container 中佈署。而它也使用類SQL 的語法也支援聚合指令 Sum, count, max, min, mean, median 等。

適用對象及時機

這是一個大數據爆發的時代。面對信息的洪流、多元化數據的大量涌現,我們在獲取、存儲、傳輸、理解、分析、應用、維護大數據時,無疑需要一種便捷的信息交流通道,以便快速、有效、準確地理解和駕馭這個過程。 對於定時查詢/回報, 以及不定時回報的系統都適用 。 特別是針對由終端主動回報資料的推式回傳, 適用IOT等的應用類型,或是不允許由外部來拉取資料的作業環境時。

當然, 它有自身使用的收集器 Telegraf。 也可作為很多監控軟體的後端時間資料庫, 如: StatsI, CollectD, FluentD等。 在告警功能方面,InfluxDB 使用 Kapacitor / Chronograf 做為警示通知的工具 , 在後端也可以與Grafana 儀表版整合。

InfluxDB的特性說明

  • 專為時間序列資料編寫的自定義高效能資料儲存。TSM引擎允許高攝取速度和資料壓縮
  • 完全寫在Go。它編譯成單個二進位制檔案,沒有外部依賴項。
  • 簡單,高效能的寫入和查詢HTTP API。
  • 外掛支援其他資料提取協議,如Graphite,collectd和OpenTSDB。
  • 專為類似SQL的查詢語言量身定製,可輕鬆查詢聚合資料。支援min, max, sum, count, mean, median 等一系列函式,方便統計
  • 標籤允許對系列進行索引以實現快速有效的查詢。
  • 保留策略有效地自動使過時資料過期。
  • 連續查詢自動計算聚合資料,以提高頻繁查詢的效率。
  • 無結構(無模式):可以是任意數量的列
  • 可拓展的架構(付費版本)
  • 具備與結構式資料庫的管理方法, 如: 備份/還原、建立/刪除資料庫等.