保留策略: 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),分别用来处理数据采样和管理老数据的。