InfluxDB學習之InfluxDB數據保留策略(Retention Policies)

来源:http://www.cnblogs.com/waitig/archive/2016/11/21/6085233.html
-Advertisement-
Play Games

InfluxDB每秒可以處理成千上萬條數據,要將這些數據全部保存下來會占用大量的存儲空間,有時我們可能並不需要將所有歷史數據進行存儲,因此,InfluxDB推出了數據保留策略(Retention Policies),用來讓我們自定義數據的保留時間。更多InfluxDB詳細教程請看:InfluxDB系 ...


InfluxDB每秒可以處理成千上萬條數據,要將這些數據全部保存下來會占用大量的存儲空間,有時我們可能並不需要將所有歷史數據進行存儲,因此,InfluxDB推出了數據保留策略(Retention Policies),用來讓我們自定義數據的保留時間。更多InfluxDB詳細教程請看:InfluxDB系列學習教程目錄

InfluxDB技術交流群:580487672(點擊加入)

數據保留策略

一、InfluxDB 數據保留策略 說明

InfluxDB的數據保留策略(RP) 用來定義數據在InfluxDB中存放的時間,或者定義保存某個期間的數據。

一個資料庫可以有多個保留策略,但每個策略必須是獨一無二的。

二、InfluxDB 數據保留策略 目的

InfluxDB本身不提供數據的刪除操作,因此用來控制數據量的方式就是定義數據保留策略。

因此定義數據保留策略的目的是讓InfluxDB能夠知道可以丟棄哪些數據,從而更高效的處理數據。

三、InfluxDB 數據保留策略 操作

1)查詢策略

可以通過如下語句查看資料庫的現有策略:

> SHOW RETENTION POLICIES ON telegraf
name    duration    shardGroupDuration    replicaN    default
default    0        168h0m0s        1        true

可以看到,telegraf只有一個策略,各欄位的含義如下:

name--名稱,此示例名稱為 default

duration--持續時間,0代表無限制

shardGroupDuration--shardGroup的存儲時間,shardGroup是InfluxDB的一個基本儲存結構,應該大於這個時間的數據在查詢效率上應該有所降低。

replicaN--全稱是REPLICATION,副本個數

default--是否是預設策略

2)新建策略

> CREATE RETENTION POLICY "2_hours" ON "telegraf" DURATION 2h REPLICATION 1 DEFAULT
> SHOW RETENTION POLICIES ON telegraf
name    duration    shardGroupDuration    replicaN    default
default    0        168h0m0s        1        false
2_hours    2h0m0s        1h0m0s            1        true

通過上面的語句可以添加策略,本例在 telegraf 庫添加了一個2小時的策略,名字叫做 2_hours, duration為2小時,副本為1,設置為預設策略。

因為名為default的策略不再是預設策略,因此,在查詢使用default策略的表時要顯式的加上策略名 “default”。

> select * from "default".cpu limit 2
name: cpu
---------
time            cpu        host                host_id    usage_guest    usage_guest_nice    usage_idle   usage_iowait        usage_irq    usage_nice        usage_softirq    usage_steal    usage_system        usage_user
1467884670000000000    cpu-total    ResourcePool-0246-billing07        0        0            99.79994164175388    0            0        0.06251823446523729    0        0        0.12920435125646068    0.008335764603451727
1467884670000000000    cpu9        billing07                0        0            97.79338014069532    1.8054162487519367    0        0            0        0        0.10030090272883943    0.3009027081135398

3)修改策略

修改策略使用如下語句修改

> ALTER RETENTION POLICY "2_hours" ON "telegraf" DURATION 4h DEFAULT
> show retention POLICIES on telegraf
name    duration    shardGroupDuration    replicaN    default
default    0        168h0m0s        1        false
2_hours    4h0m0s        1h0m0s            1        true

可以看到,修改後的策略發生了變化。

4)刪除策略

InfluxDB中策略的刪除操作如下所示:

> drop retention POLICY "2_hours" ON "telegraf"
> show retention POLICIES on telegraf
name    duration    shardGroupDuration    replicaN    default
default    0        168h0m0s        1        false

可以看到,名為2_hours的策略已經被刪除了。

四、其他說明

策略這個關鍵詞“POLICY”在使用是應該大寫,小寫應該會出粗。

當一個表使用的策略不是預設策略時,在進行操作時一定要顯式的指定策略名稱,否則會出現錯誤。

 

好了,有關 InfluxDB數據保留策略Retention Policies) 的相關內容就先為大家介紹到這裡,有問題歡迎大家留言討論。

更多InfluxDB詳細教程請看:InfluxDB系列學習教程目錄

InfluxDB技術交流群:580487672(點擊加入)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Windows環境配置MySQL集群 一、Cluster環境搭建 1、mysql Cluster(MySQL Cluster 7.5.4)文件下載地址:http://dev.mysql.com/downloads/cluster/ 2、準備三台伺服器(虛擬機,本人使用的是Windows Server ...
  • 1. 索引(Index) 索引是快速的定位和查找數據。索引分為: 聚集索引:唯一,預設主鍵,一般選取比較連貫的欄位,聚集索引是物理排序。 非聚集索引: 並沒有把數據物理排序,只是多了一個索引頁(包括索引項+存儲位置row number) a. 新建“非聚集索引” b. 選擇“專業”創建非聚集性索引。 ...
  • Hey,大家好!我是CrazyCatJack。今天我來說幾個在嵌入式開發中常用的C語言技巧吧。也許你曾經用過,也許你只是見到過但是沒有深入理解。那麼今天好好補充下吧^_^ 1.指向函數的指針 指針不光能指向變數、字元串、數組,還能夠指向函數。在C語言中允許將函數的入口地址賦值給指針。這樣就可以通過指 ...
  • 轉自:http://www.cnblogs.com/phoebus0501/archive/2010/12/14/1906144.html 1.確保RHEL5中已經安裝了yum [root@lvs-master ~]# rpm -qa |grep yumyum-metadata-parser-1.1 ...
  • 操作系統API: 1、API是一些函數,這些函數是由linux系統提供支持的,由應用層程式來使用,應用層程式通過調用API來調用操作系統中的各種功能,來幹活 文件操作的一般步驟: 1、在linux系統中要操作一個文件,一般是先open打開一個文件,得到一個文件描述符,然後對文件進行讀寫操作(或其他操 ...
  • 前言 日常用Python多一些,不過很多時候shell腳本更簡單實用一些,所以有必要熟悉一下shell腳本。當然shell有他特定的一些場景,比方說我曾經改過一個vpn斷線自動重連的 "腳本" ,簡單實用。 另: 本文比較簡單,算是入門簡述,類似於30分鐘入門的東西,想詳細看的可以去搜其他文章,很多 ...
  • 設置 NLS_LANG 變數 1) 正確配置 LC_ALL 參數 2) 配置 telnet/ssh/SecureCRT 客戶端的字元集 linux中可以用locale命令來查看 NLS_LANG設置,如下例所示 [root@HXZG ~]# locale LANG=en_US.UTF-8 LC_CT ...
  • #Elaine:master;Dylan:minion#利用salt給minion安裝包[root@elaine states]# vim /etc/salt/master 1 default_include: master.d/*.conf 2 3 interface: 0.0.0.0 4 5 ' ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...