轉載請註明出處:
InfluxDB 中的保留策略用於定義時間序列資料在資料庫中的保留期限。保留策略決定了資料在 InfluxDB 中的儲存持續時間和精度。以下是 InfluxDB 的保留策略型別以及如何設定和檢視它們的詳細說明:
預設保留策略(Default Retention Policy):每個資料庫都有一個預設的保留策略,用於儲存未指定保留策略的資料。預設保留策略名稱為 autogen
。
使用者定義的保留策略(User-defined Retention Policy):使用者可以自定義保留策略,併為特定的測量表指定不同的保留策略名稱。使用者定義的保留策略可以有任意名稱。
CREATE RETENTION POLICY "<policy_name>" ON "<database_name>" DURATION <duration> REPLICATION <replication_factor> [SHARD DURATION <shard_duration>]
<database_name>
: 要應用保留策略的資料庫名稱。
<duration>
: 資料的保留期限,例如 1d
表示一天。
<replication_factor>
: 資料的複製因子,指定資料在叢集中的副本數量。
<shard_duration>
使用以下語法修改保留策略的引數:
ALTER RETENTION POLICY "<policy_name>" ON "<database_name>" DURATION <duration> REPLICATION <replication_factor> [SHARD DURATION <shard_duration>]:
使用以下語法刪除保留策略:
DROP RETENTION POLICY "<policy_name>" ON "<database_name>"
使用以下語法檢視資料庫中的所有保留策略和其詳細資訊:
SHOW RETENTION POLICIES ON "<database_name>"
假設我們有一個名為 mydb
的資料庫,並希望為其中的測量表 temperature
建立一個名為 one_week
的保留策略,保留期限為一週,複製因子為 1。以下是相關的 InfluxQL 查詢範例:
-- 建立保留策略 CREATE RETENTION POLICY "one_week" ON "mydb" DURATION 7d REPLICATION 1 -- 修改保留策略 ALTER RETENTION POLICY "one_week" ON "mydb" DURATION 8d REPLICATION 1 -- 檢視保留策略 SHOW RETENTION POLICIES ON "mydb" -- 刪除保留策略 DROP RETENTION POLICY "one_week" ON "mydb"
保留策略確定了資料在 InfluxDB 中的儲存週期和資料的複製副本數量,可以根據需求進行靈活調整。