云原生多模數據庫 Lindorm使用容量型云存儲作為冷數據存儲介質。本文介紹時序引擎的冷數據歸檔功能的使用方法。
功能概要
在時序數據庫持續寫入的場景下,早先寫入的時序數據會隨著時間推移,查詢頻度逐漸降低。這樣的數據通常被稱為“冷數據”,與之相對的概念被稱為“熱數據”。隨著冷數據體量的不斷變大,存儲成本也會水漲船高。所以降低冷數據存儲成本,提升熱數據讀取性能,對于使用時序引擎的企業用戶具有現實意義。
在Lindorm時序引擎中,隨著時間的不斷推移,數據呈現出很明顯的冷溫熱分層。其相應的概念如下:
熱數據
最近寫入的時序數據。這些時序數據的時間戳往往距離當前很近,在時序應用的場景中會被頻繁查詢。
溫數據
已寫入一段時間的數據。這些時序數據查詢的頻率相對較低。
冷數據
已經寫入了很長時間的數據,通常可以視作歸檔數據。在時序應用的場景中,這些數據的數據量往往非常龐大,但是極少用于查詢。
基于冷溫熱數據的數據量以及查詢頻度的特點,Lindorm時序引擎實現了對時序數據冷溫熱分層存儲。如下所示:
對于數據量最大的冷數據,時序引擎會自動根據用戶設置的基于業務時間戳的冷熱分界線自動將冷數據歸檔到冷存儲中。當需要查詢冷數據時,用戶可以無感知地按正常查詢的方式進行冷數據查詢。云原生多模數據庫 Lindorm使用容量型云存儲作為冷數據存儲介質。容量型云存儲的讀取性能說明,請參見容量型云存儲讀取性能說明。
開通冷存儲
時序引擎實例創建后本身就具備了對熱數據和溫數據的分層管理能力。但是對于冷數據,如果需要啟用上文所說的冷數據自動歸檔到冷存儲介質的能力,則需要預先在Lindorm實例層面開通冷存儲。
開通冷存儲的方法如下:
申購Lindorm實例時,在購買頁面決定是否購買冷存儲并決定冷存儲的大小。
創建實例時沒有購買冷存的情況下,也可在實例創建后通過Lindorm實例的管理控制臺開通冷存儲。管理控制臺上開通冷存儲的入口如下所示。
開通了冷存儲后,即可通過時序引擎設置冷熱分界線來控制冷數據自動歸檔至冷存儲介質了。
配置冷熱分界線
冷熱分界線的含義
冷熱分界線是一個在業務層面定義區分數據冷熱的分界線,由用戶指定。即用戶根據數據存儲量和查詢時間覆蓋范圍,確定多長時間之前的數據需要轉移到冷存儲。
在時序引擎中,冷熱分界線的設置單位是天。含義是某條時序數據的時間戳如果滿足下述條件,則該數據被視作冷數據。
冷數據的判定標準如下:
當前時間 - 數據的時間戳 >= 冷熱分界線(天)
設置冷熱分界線的方法
有以下兩個方式設置冷熱分界線:
通過SQL語句在Database的創建或修改中設置冷熱分界線。
說明通過SQL設置冷熱分界線的方法可參見 CREATE DATABASE 或 ALTER DATABASE。
通過時序引擎的管理控制臺設置Database的冷熱分界線。
說明通過管理控制臺設置冷熱分界線的方法可參見 在管理控制臺上管理Database 。
查詢冷數據
通過正常的SQL語句查詢即可,無需刻意區分。但需注意的是,如果被查詢的數據已經歸檔到冷存儲介質上,則查詢的延遲將會增加。