官網例子:
在influxdb中的資料是通過「時間序列組織的「,包含乙個測量變數,比如cpu_load或者溫度。時間序列有無數的點,每個點都是metric的離散取樣。點包含time(乙個時間戳)、乙個measurement測量變數(比如是cpu_load),至少乙個kv鍵值對field
(測量變數的值,比如"value=0.64",或者"temperature=21.2"),很多的kv鍵值對(包含了任何關於變數的元資料資訊,比如"host=server01",「region=emea」, 「dc=frankfurt」) 。
在概念上,你可以把乙個measurement
看做是乙個sql表,主索引一直都是時間。和fields
實際上是表中的列。會被索引,但是fields
不會。區別是,使用influxdb,你可以有百萬個測量變數,但是不需要設計前面的架構,空值不會被儲存。
點會被寫入到influxdb,使用行協議(line protocol),格式如下:
[,=...] =[,=...] [unix-nano-timestamp]
下面是可以寫入到influxdb的點的所有例子:
cpu,host=servera,region=us_west value=0.64
payment,device=mobile,product=notepad,method=credit billed=33,licenses=3i 1434067467100293230
stock,symbol=aapl bid=127.46,ask=127.48
temperature,machine=unit42,type=assembly external=25,internal=37 1434067467000000000
使用influx命令列,可以插入乙個個時間序列點,比如使用如下的語句:
> insert cpu,host=servera,region=us_west value=0.64
>
這樣,乙個點——測量變數是cpu
,tags是host
和region
,測量值value
為0.64,被寫入到資料庫中了。
然後,我們可以通過如下語句查到這條資料記錄:
> select "host", "region", "value" from "cpu"
name: cpu
---------
time host region value
2015-10-21t19:28:07.580664347z servera us_west 0.64
我們嘗試儲存另外一種資料,在乙個測量變數裡含有兩種fields:
> insert temperature,machine=unit42,type=assembly external=25,internal=37
>
一次查詢操作中,可以使用*
操作符獲取所有的fields和tags:
> select * from "temperature"
name: temperature
-----------------
time external internal machine type
2015-10-21t19:28:08.385013942z 25 37 unit42 assembly
>
匯入的檔案包含以下的兩段:
比如,檔案datarrr.txt
:
# ddl
create database pirates
create retention policy oneday on pirates duration 1d replication 1
# dml
# context-database: pirates
# context-retention-policy: oneday
treasures,captain_id=dread_pirate_roberts value=801 1439856000
treasures,captain_id=flint value=29 1439856000
treasures,captain_id=sparrow value=38 1439856000
treasures,captain_id=tetra value=47 1439856000
treasures,captain_id=crunch value=109 1439858880
匯入命令如下:
$influx -import -path=datarrr.txt -precision=s
結果如下:
2015/12/22 12:25:06 processed 2 commands
2015/12/22 12:25:06 processed 5 inserts
2015/12/22 12:25:06 failed 0 inserts
query_language
tools-influxdb
line-protocol
launch-influx
database_management
retention-policy
使用restbed 寫入influxDB 資料庫
influxdb是目前比較流行的時間序列資料庫。它和傳統的資料庫有所不同。influxdb 與 mysql 對比 庫 表比較 influxdb 傳統資料庫中的概念 database 資料庫measurement 資料庫中的表 points 表裡面的一行資料 influxdb 資料的構成 point由...
資料庫向Excel寫入資料
開啟目標資料錄入資訊excel檔案 函式處理失敗的錯誤資訊 如果函式處理成功返回true,否則返回false private bool opendessjlrexcel string excelfile,errinfo perrinfo 返回函式處理結果給外部的函式呼叫者 return pflago...
向Redis集群中寫入資料
在redis cli每次錄入 查詢鍵值,redis都會計算出該key應該送往的插槽,如果不是該客戶端對應伺服器插槽,redis會報錯,並告知應前往的redis例項位址和埠。redis cli客戶端提供了 c 引數實現自動重定向。如 redis cli c p 6379 登入後,再錄入 查詢鍵值對可以...