InfluxDB - 連續查詢CQ和保留策略RP
阿新 • • 發佈:2018-11-26
保留策略: 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),分別用來處理資料取樣和管理老資料的。