一.定義
時序數據庫 是一種專門用于高效存儲和查詢帶有時間戳的數據的數據庫。如果你的數據是隨著時間變化而不斷產生,并且你想知道過去某一時刻發生了什么,那么你應該用時序數據庫。
這類數據通常具有以下特征:
- 數據點按時間順序不斷寫入(高頻寫入)
- 查詢通常是基于時間段進行聚合分析
- 數據量大但更新少,刪除也較少
二、InfluxDB 的核心功能與特點
- 高性能寫入能力
- 支持高并發寫入,適合每秒成千上萬條數據插入。
- 寫入后自動按時間索引,讀取效率高。
- 時間序列優化的查詢語言
- 提供類似 SQL 的查詢語言(Flux / InfluxQL),支持時間范圍過濾、聚合計算(如平均值、最大值、求和等)。
- 數據保留策略(Retention Policy)
- 可設置數據保留時間(如只保留最近 7 天、30 天、永久等),自動清理舊數據。
- 標簽(Tags)和字段(Fields)類似于關系型數據庫中的字段,但做了區分:
- tags:用于索引,可快速過濾查詢(如設備ID、區域、類型)
- fields:用于存儲實際的數值(如溫度、電壓、計數)
- 5內置聚合函數和插值功能
- 自動對時間序列做插值(interpolation)、降采樣(downsampling)、窗口聚合(windowing)等操作。
?三、與時序數據庫相比,關系數據庫有哪些不同?
????????如果你只接觸過關系型數據庫,那么以下對照表有助于加深你的理解
對比維度 | 關系型數據庫(MySQL/PostgreSQL) | 時序數據庫(InfluxDB) |
數據結構 | 表結構固定,需定義 schema | 靈活,無需嚴格定義 schema |
寫入頻率 | 支持中低頻寫入 | 極高寫入吞吐量(每秒百萬級) |
時間處理 | 時間只是普通字段 | 時間是核心維度,所有數據都帶時間戳 |
索引機制 | 支持多列索引 | 默認按時間排序并建立索引 ? |
查詢模式 | 支持復雜 JOIN、事務 | 更適合單表聚合查詢、時間窗口統計 |
擴展性 | 單機為主,分布式部署較難 | 天生為分布式設計 |
使用場景 | OLTP、業務系統 | OLAP、監控、物聯網、日志分析 |
關系型概念 | InfluxDB 對應概念 |
數據庫(Database) | Bucket(桶) |
表(Table) | Measurement(測量) |
字段(Column) | Tag / Field |
行(Row) | 數據點(Data Point)+ 時間戳 |
SQL 查詢 | Flux / InfluxQL 查詢語言 |
?四.InfluxDB安裝
操作系統:windows10
數據庫版本:2.7.12?
4.1下載
下載連接
4.2啟動
這里需要提醒的是,influxd.exe不能雙擊運行,需要在cmd中運行,因為它本質上是一個長時間運行的控制臺程序,不是 GUI 應用,雙擊后提示如下:
啟動成功,端口8086
?啟動成功
4.3.配置服務
在cmd窗口啟動InfluxDB,是前臺進程,將cmd窗口關掉時,InfluxDB服務也就關掉了。?如果你希望開機啟動或者后臺啟動,可參考下面的操作。
- 下載NSSM
- 安裝NSSM
- 解壓下載的 nssm-2.24.zip
- 找到對應系統的文件夾(如 win64)
- 將整個 nssm-2.24 文件夾復制到一個簡單路徑中
- 安裝服務InfluxDB
五.InfluxDB初始化?
?初始化成功