1. 程式人生 > >InfluxDB - 連續查詢CQ和保留策略RP

InfluxDB - 連續查詢CQ和保留策略RP

保留策略: RP(retention policy) 

即資料的過期策略:如 CREATE    RETENTION    POLICY    "a_year"    ON    "food_data"    DURATION    52w    REPLICATION    1   default 

  這個語句對資料庫    food_data    建立了一個叫做    a_year    的RP, a_year    儲存資料的週期是52周                             

連續查詢: CQ  (Continuous    Query )

是在資料庫內部自動週期性跑著的一個InfluxQL的查詢,CQs需要在    SELECT    語句中使用一個函式,並且一定包括一個    GROUP    BY    time  

CREATE	CONTINUOUS	QUERY	"cq_30m"	ON	"food_data"	BEGIN
		SELECT	mean("website")	AS	"mean_website",mean("phone")	AS	"mean_phone"
		INTO	"a_year"."downsampled_orders"
		FROM	"orders"
		GROUP	BY	time(30m)
END

  建立了一個叫做	cq_30m	的CQ作用於	food_data	資料庫上。	cq_30m	告訴InfluxDB每30分鐘計
算一次measurement為	orders 的欄位	website	和	phone	的平均值,然後
把結果寫入到RP為	a_year	,兩個欄位分別是	mean_website	和	mean_phone	的measurement名
為	downsampled_orders	的資料中。InfluxDB會每隔30分鐘跑一次

 

InfluxDB每秒可以處理數十萬的資料點。如果要長時間地儲存大量的資料,對於儲存會是很大的壓
力。一個很自然的方式就是對資料進行取樣,對於高精度的裸資料儲存較短的時間,而對於低精度的
的資料可以儲存得久一些甚至永久儲存。
    所以InfluxDB提供了兩個特性——連續查詢(Continuous    Queries簡稱CQ)和保留策略(Retention    Policies簡稱
RP),分別用來處理資料取樣和管理老資料的。