官术网_书友最值得收藏!

1.3 InfluxDB的特性

作為一個開源系統,InfluxDB究竟有什么魅力吸引了如此多的用戶,從而在時序型數據庫DB-Engines Ranking上排名第一呢?

1.3.1 InfluxDB的特點

InfluxDB是支持時序數據高效讀寫、壓縮存儲、實時計算能力的數據庫服務,除了具有成本優勢的高性能讀、高性能寫、高存儲率,InfluxDB還具有如下特點:

?無系統環境依賴,部署方便。

?無模式(schema-less)的數據模型,靈活強大。

?原生HTTP管理接口,免插件配置和免第三方依賴。

?強大的類SQL查詢語句,學習成本低,上手快。

?豐富的權限管理功能:精細到“表”級別。

?豐富的時效管理功能:自動刪除過期數據,自定義刪除指標數據。

?低成本存儲,采樣時序數據,壓縮存儲。

?豐富的聚合函數,支持AVG、SUM、MAX、MIN等聚合函數。

1.3.2 核心概念

InfluxDB實現了類SQL的接口,盡管與傳統關系型數據庫(如MySQL)語法相似,但InfluxDB在語義體系上有些差別,接下來將以一條CPU利用率的時序數據為例介紹相關的核心概念,如代碼清單1-3所示。

代碼清單1-3 一條CPU利率的時序數據

        > insert cpu_usage, host=server01, location=cn-sz user=23.0, system=57.0
        > select * from cpu_usage
        name: cpu_usage
        time                host      location system user
        ----                ----      -------- ------ ----
        1557834774258860710 server01 cn-sz     55      25
        >

?時間(Time):如代碼清單1-3中的“1557834774258860710”,表示數據生成時的時間戳,與MySQL不同的是,在InfluxDB中,時間幾乎可以看作主鍵的代名詞。

?表(Measurement):如代碼清單1-3中的“cpu_usage”,表示一組有關聯的時序數據,類似于MySQL中表(Table)的概念。

?標簽(Tag):如代碼清單1-3中的“host=server01”和“location=cn-sz”,用于創建索引,提升查詢性能,一般存放的是標示數據點來源的屬性信息,在代碼清單1-3中,host和location分別是表中的兩個標簽鍵,對應的標簽值分別為server01和cn-sz。

?指標(Field):如代碼清單1-3中的“user=23.0”和“system=57.0”,一般存放的是具體的時序數據,即隨著時間戳的變化而變化的數據,與標簽不同的是,未對指標數據創建索引,在代碼清單1-3中,user和system分別是表中的兩個指標鍵,對應的指標值分別為23.0和57.0。

?時序數據記錄(Point):如代碼清單1-3中的“1557834774258860710 server01 cn-sz 55 25”,表示一條具體的時序數據記錄,由時序(Series)和時間戳(Timestamp)唯一標識,類似于MySQL中的一行記錄。

?保留策略(Retention Policy):定義InfluxDB的數據保留時長和數據存儲的副本數,通過設置合理的保存時間(Duration)和副本數(Replication),在提升數據存儲可用性的同時,避免數據爆炸。

?時間序列線(Series):表示表名、保留策略、標簽集都相同的一組數據。

主站蜘蛛池模板: 潞城市| 龙岩市| 沂南县| 秦安县| 巫溪县| 广东省| 弋阳县| 武强县| 丁青县| 衡阳市| 历史| 南澳县| 托克逊县| 资源县| 凤山市| 徐水县| 宜宾市| 贡山| 汉川市| 石林| 宜阳县| 峨眉山市| 河西区| 方山县| 滨州市| 文山县| 临夏市| 门源| 张家界市| 饶平县| 苍梧县| 霍山县| 永定县| 白沙| 临泽县| 隆德县| 体育| 锦屏县| 泸水县| 鹤山市| 永康市|