久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

influxdb的原理和用法是什么

共計(jì) 2820 個(gè)字符,預(yù)計(jì)需要花費(fèi) 8 分鐘才能閱讀完成。

今天就跟大家聊聊有關(guān) influxdb 的原理和用法是什么,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

influxdb 是什么

influxdb 是一個(gè)由 go 語(yǔ)言開(kāi)發(fā)的、用于存儲(chǔ)和分析時(shí)間序列數(shù)據(jù)的開(kāi)源數(shù)據(jù)庫(kù)。特點(diǎn)如下:

內(nèi)置 HTTP 接口,使用方便

數(shù)據(jù)可以打標(biāo)記,查讓查詢可以很靈活

類 SQL 的查詢語(yǔ)句

安裝管理很簡(jiǎn)單,并且讀寫(xiě)數(shù)據(jù)很高效

能夠?qū)崟r(shí)查詢,數(shù)據(jù)在寫(xiě)入時(shí)被索引后就能夠被立即查出

支持?jǐn)?shù)據(jù)存儲(chǔ)策略 (RP) 和數(shù)據(jù)歸檔(CQ)

更多的描述,可以看 influxdb 官方描述。

influxdb 安裝

我們可以直接從官方下載二進(jìn)制安裝,也可以基于 docker 鏡像來(lái)安裝。基于 docker 鏡像安裝,執(zhí)行如下命令即可

docker run -d –name influxdb -p 8860:8086 \

-v $PWD/influxdb.conf:/usr/local/influxdb/influxdb.conf:ro \

-v $PWD:/data/influxdb \

influxdb -config /usr/local/influxdb/influxdb.conf

參數(shù)描述:

-d:在后臺(tái)運(yùn)行容器,并打印出容器 id

–name influxdb 指定容器的名字

-p 8081:8082 指定端口映射,將宿主機(jī)的 8860 端口,映射到容器的 8086 端口

-v $PWD/influxdb.conf:/usr/local/influxdb/influxdb.conf:ro 將當(dāng)前目錄下面 influxdb.conf 掛載到容器的 /usr/local/influxdb/influxdb.conf 目錄。因?yàn)槟J(rèn)掛載的路徑權(quán)限為讀寫(xiě),通過(guò) ro,可以限制權(quán)限為只讀,防止容器中修改配置文件。

-v $PWD:/data/influxdb 將當(dāng)前目錄,掛載到容器的 /data/infludb 目錄。這樣,我們可以指定 infludb 的數(shù)據(jù)文件,寫(xiě)到 /data/infludb 這個(gè)目錄,這樣可以實(shí)現(xiàn)數(shù)據(jù)的落盤(pán)。

influxdb 相關(guān)概念

在使用 infludb 之前,我們先了解一波它的一些概念,比如 database、Retention Policy、measurement、Continuous Query、point、field、tag 等。首先,整體認(rèn)識(shí)一下:

1、database

database 即數(shù)據(jù)庫(kù),可以類比 mysql、mongo 等數(shù)據(jù)庫(kù)。

create database test – 創(chuàng)建數(shù)據(jù)庫(kù)

show databases – 展示所有數(shù)據(jù)庫(kù)

use test – 選擇使用的數(shù)據(jù)庫(kù)

2、Retention Policy

retention policy,即存儲(chǔ)策略,簡(jiǎn)稱 RP,用來(lái)控制數(shù)據(jù)庫(kù)的存儲(chǔ)時(shí)間。InfluxDB 會(huì)比較服務(wù)器本地的時(shí)間戳和你數(shù)據(jù)的時(shí)間戳,并刪除比 RP 里面的持續(xù)時(shí)間更老的數(shù)據(jù)。單個(gè)數(shù)據(jù)庫(kù)中可以有多個(gè) RP,但是每個(gè)數(shù)據(jù)的 RP 是唯一的。RP 的相關(guān)操作如下:

查看數(shù)據(jù)庫(kù) test 的 rp

SHOW RETENTION POLICIES ON test

給 test 數(shù)據(jù)庫(kù)創(chuàng)建新的 rp

CREATE RETENTION POLICY rp_name ON db_name DURATION 3w REPLICATION 1 DEFAULT

rp_name:RP 策略名

db_name:具體的數(shù)據(jù)庫(kù)名

3w:設(shè)置數(shù)據(jù)保存 3 個(gè)星期,3 個(gè)星期之前的數(shù)據(jù)將被刪除,infludb 它具有各種時(shí)間參數(shù),比如:h(小時(shí)), d(天),w(星期)

REPLICATION 1:副本個(gè)數(shù),這里填 1 就可以了。

DEFAULT 設(shè)為默認(rèn)的策略。

修改數(shù)據(jù)庫(kù)的 rp

修改 rp 使用如下命令:

CREATE RETENTION POLICY rp_name ON db_name DURATION 3d DEFAULT

刪除數(shù)據(jù)庫(kù)的 rp

DROP RETENTION POLICY rp_name ON db_name

3、measurement

measurement,可以類比傳統(tǒng)數(shù)據(jù)庫(kù)中的表。傳統(tǒng)額數(shù)據(jù)庫(kù),支持增刪改查,infludb 僅僅支持增和查,刪除可以同 RP 來(lái)實(shí)現(xiàn)。

數(shù)據(jù)的插入

influxdb 支持 http 和 rpc 方式來(lái)插入數(shù)據(jù),當(dāng)然也支持命令行方式插入數(shù)據(jù),如下:

use test – 使用 test 數(shù)據(jù)庫(kù)

insert weather,altitude=1000,area= 北 temperature=11,humidity=-4

其中:

weather:表名,即 measurement 的名字

altitude=1000,area= 北 為 tag,可以把 tag 理解為 mysql 中帶索引的列。

temperature=11,humidity=-4 為 field,,可以把 field 理解為 mysql 中不帶索引的列。

針對(duì)每條插入的數(shù)據(jù),influxdb,會(huì)自動(dòng)加一列,列的名字為 time,用于記錄當(dāng)前數(shù)據(jù)的時(shí)間。

數(shù)據(jù)的查詢

influxdb 支持 where、group、order、limit 等字句。如下:

select * from weather order by time desc limit 5

4、連續(xù)查詢(Continuous Queries)

influxdb 中的數(shù)據(jù),當(dāng)超過(guò)保存策略里指定的時(shí)間之后,就會(huì)被刪除。如果我們不想刪除掉,但是又擔(dān)心容量過(guò)大怎么辦呢? 可以對(duì)數(shù)據(jù)采用更大的粒度,進(jìn)行歸檔,即以降低精度為代價(jià)。比如把原先每秒的數(shù)據(jù),歸檔存為分鐘的數(shù)據(jù),把原先分鐘的數(shù)據(jù),歸檔存為每小時(shí)或每天的數(shù)據(jù)等,這樣在容量固定的情況下,可以存儲(chǔ)更多的數(shù)據(jù)。在 influxdb 中,這種操作,叫連續(xù)查詢(Continuous Queries)。

查看數(shù)據(jù)庫(kù)的 Continuous Queries

SHOW CONTINUOUS QUERIES

創(chuàng)建 Continuous Queries

1CREATE CONTINUOUS QUERY cq_3d ON testDb BEGIN SELECT mean(age) as age INTO test_3days FROM test GROUP BY time(3d), * END

其中:cq_3d:連續(xù)查詢的名字

testDb:具體的數(shù)據(jù)庫(kù)名。

mean(age) as age: 計(jì)算 age 的平均值,后并字段名改為 age

test:measurement 名稱,即基數(shù)據(jù)庫(kù)哪個(gè)表進(jìn)行歸檔

test_3days:measurement 名稱,數(shù)據(jù)歸檔后,存儲(chǔ)的表名。

3d:歸檔的頻率,即每間隔 3 天,歸檔一次。

*:針對(duì)所有的 tag 進(jìn)行 group by 操作,當(dāng)然我們也可以基于特定的 tag 來(lái) group by 操作。需要注意,針對(duì)哪些 tags 進(jìn)行 group by 操作,那么歸檔后的表 test_3days 中,就會(huì)有哪些 tags。

刪除 Continuous Queries

刪除操作命令如下:

DROP CONTINUOUS QUERY ON

看完上述內(nèi)容,你們對(duì) influxdb 的原理和用法是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝大家的支持。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-18發(fā)表,共計(jì)2820字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 当阳市| 黄大仙区| 缙云县| 紫金县| 普洱| 永修县| 天峻县| 乌拉特前旗| 珠海市| 鲜城| 怀宁县| 逊克县| 清水河县| 武宁县| 乌兰县| 报价| 滁州市| 土默特左旗| 彝良县| 叙永县| 阿荣旗| 化德县| 赣榆县| 泗阳县| 中山市| 昂仁县| 宜城市| 德江县| 东源县| 迭部县| 喀喇沁旗| 东台市| 集安市| 绿春县| 高碑店市| 定西市| 海淀区| 樟树市| 北京市| 金坛市| 澜沧|