雲小課|GaussDB(DWS)數據存儲盡在掌控,冷熱數據切換自如

来源:https://www.cnblogs.com/huaweiyun/archive/2023/02/06/17094907.html
-Advertisement-
Play Games

閱識風雲是華為雲信息大咖,擅長將複雜信息多元化呈現,其出品的一張圖(雲圖說)、深入淺出的博文(雲小課)或短視頻(雲視廳)總有一款能讓您快速上手華為雲。更多精彩內容請單擊此處。 摘要: GaussDB(DWS)支持根據業務系統的不同使用需求,對膨脹的數據進行冷熱分級管理,將數據按照時間分為熱數據、冷數 ...


閱識風雲是華為雲信息大咖,擅長將複雜信息多元化呈現,其出品的一張圖(雲圖說)、深入淺出的博文(雲小課)或短視頻(雲視廳)總有一款能讓您快速上手華為雲。更多精彩內容請單擊此處。

摘要: GaussDB(DWS)支持根據業務系統的不同使用需求,對膨脹的數據進行冷熱分級管理,將數據按照時間分為熱數據、冷數據,這不僅可以提高數據分析性能還能降低業務成本。

本文分享自華為雲社區《【雲小課】EI第50課 GaussDB(DWS)數據存儲盡在掌控,冷熱數據切換自如》,作者:閱識風雲

背景信息

海量大數據場景下,隨著業務和數據量的不斷增長,數據存儲與消耗的資源也日益增長。根據業務系統中用戶對不同時期數據的不同使用需求,對膨脹的數據進行“冷熱”分級管理,不僅可以提高數據分析性能還能降低業務成本。針對數據使用的一些場景,可以將數據按照時間分為:熱數據、冷數據。

冷熱數據主要從數據訪問頻率、更新頻率進行劃分。

  • Hot(熱數據):訪問、更新頻率較高,對訪問的響應時間要求很高的數據。
  • Cold(冷數據):不允許更新或更新訪問頻率較低,對訪問的響應時間要求不高的數據。

冷熱切換策略

冷熱切換的策略支持LMT(last modify time)和HPN(hot partition number),LMT指按分區的最後更新時間切換,HPN指保留熱分區的個數切換。

  • LMT:表示切換[day]時間前修改的熱分區數據為冷分區,將該數據遷至OBS表空間中。其中[day]為整型,範圍[0, 36500],單位為天。

如下圖中,設置day為2,即在冷熱切換時,根據分區數據的最晚修改時間,保留2日內所修改的分區為熱分區,其餘數據為冷分區數據。假設當前時間為4月30日,4月30日對[4-26]分區進行了delete操作,4月29日對[4-27]分區進行了insert操作,故在冷熱切換時,保留[4-26][4-27][4-29][4-30]四個分區為熱分區。

  • HPN:表示保留HPN個有數據的分區為熱分區。分區順序按照分區的Sequence ID來確定,分區的Sequence ID是根據分區邊界值的大小,內置生成的序號,此序號不對外呈現。對於RANGE分區,分區的邊界值越大,分區對應的Sequence ID越大;對於LIST分區,分區邊界枚舉值中的最大值越大,分區對應的Sequence ID越大。在冷熱切換時,需要將數據遷移至OBS表空間中。其中HPN為整型,範圍為[0,1600]。

如下圖中,設置HPN為3,即在冷熱切換時,保留最新的3個有數據的分區為熱分區數據,其餘分區均切為冷分區。

準備工作

  • 已註冊華為雲賬號,且在使用GaussDB(DWS)前檢查賬號狀態,賬號不能處於欠費或凍結狀態。
  • 已下載客戶端並連接到GaussDB(DWS)集群。

創建冷熱表

創建列存冷熱數據管理表,指定熱數據有效期LMT為100天。

CREATE TABLE lifecycle_table(i int, val text) WITH (ORIENTATION = COLUMN, storage_policy = 'LMT:100')
PARTITION BY RANGE (i)
(
PARTITION P1 VALUES LESS THAN(5),
PARTITION P2 VALUES LESS THAN(10),
PARTITION P3 VALUES LESS THAN(15),
PARTITION P8 VALUES LESS THAN(MAXVALUE)
)
ENABLE ROW MOVEMENT;

冷熱數據切換

切換冷數據至OBS表空間。

  • 自動切換:每日0點調度框架自動觸發,無需關註切換情況;

可自定義自動切換時間:根據業務情況調整自動觸發時間,修改為每天早晨6點30分:

select * from pg_obs_cold_refresh_time('lifecycle_table', '06:30:00');
pg_obs_cold_refresh_time
--------------------------
SUCCESS
(1 row)
  • 手動切換

執行如下操作手動切換單表:

alter table lifecycle_table refresh storage;
ALTER TABLE

執行如下操作批量切換所有冷熱表:

select pg_catalog.pg_refresh_storage();
pg_refresh_storage
--------------------
(1,0)
(1 row)

查看數據分佈

查看冷熱表數據分佈情況。

查看單表數據分佈情況:

select * from pg_catalog.pg_lifecycle_table_data_distribute('lifecycle_table');
schemaname | tablename | nodename | hotpartition | coldpartition | switchablepartition | hotdatasize | colddatasize | switchabledatasize
------------+-----------------+--------------+--------------+---------------+---------------------+-------------+--------------+--------------------
 public | lifecycle_table | dn_6001_6002 | p1,p2,p3,p8  | | | 96 KB       | 0 bytes      | 0 bytes
 public | lifecycle_table | dn_6003_6004 | p1,p2,p3,p8  | | | 96 KB       | 0 bytes      | 0 bytes
 public | lifecycle_table | dn_6005_6006 | p1,p2,p3,p8  | | | 96 KB       | 0 bytes      | 0 bytes
(3 rows)

查看所有冷熱表數據分佈情況:

select * from pg_catalog.pg_lifecycle_node_data_distribute();
schemaname | tablename | nodename | hotpartition | coldpartition | switchablepartition | hotdatasize | colddatasize | switchabledatasize
------------+-----------------+--------------+--------------+---------------+---------------------+-------------+--------------+--------------------
 public | lifecycle_table | dn_6001_6002 | p1,p2,p3,p8  | | | 98304 | 0 | 0
 public | lifecycle_table | dn_6003_6004 | p1,p2,p3,p8  | | | 98304 | 0 | 0
 public | lifecycle_table | dn_6005_6006 | p1,p2,p3,p8  | | | 98304 | 0 | 0
(3 rows)

瞭解更多華為雲數據倉庫GaussDB(DWS),請點擊這裡

 

點擊關註,第一時間瞭解華為雲新鮮技術~


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

-Advertisement-
Play Games
更多相關文章
  • 背景 REST作為一種現代網路應用非常流行的軟體架構風格,自從Roy Fielding博士在2000年他的博士論文中提出來到現在已經有了20年的歷史。它的簡單易用性,可擴展性,伸縮性受到廣大Web開發者的喜愛。 REST 的 API 配合JSON格式的數據交換,使得前後端分離、數據交互變得非常容易, ...
  • 賽事介紹 賽事起源 CTF(Capture The Flag)中文譯作奪旗賽,原為西方傳統運動,兩隊人馬互相前往對方的基地奪取旗幟。在網路空間安全領域被用來指代技術人員之間進行技術競技的比賽形式。 CTF起源於1996年的DEFCON全球黑客大賽,用於代替黑客間發起真是攻擊的競賽形式。DEFCON ...
  • 1. 寫在前面 之前的文章總結了使用管道進行進程間通信的方法,除了pipe和fifo,Linux內核還為我們提供了其他更高級的IPC方式,包括共用記憶體,消息隊列,信號量等,本篇文章會通過一個具有完整邏輯功能的示例說明如何使用這些IPC方法。畢竟單純地查手冊,寫代碼...周而複始,這個過程還是比較枯燥 ...
  • 運行環境 OS:Windows 10 64位 前期準備 檢查是否刪除navicat歷史文件夾 使用工具everything搜索關鍵詞,將文件刪除 檢查註冊表是否刪除navicat 按鍵【win+R】輸入regedit打開註冊表,刪除【HKEY_CURRENT_USER->SOFTWARE】的【Pre ...
  • AggregatingMergeTree引擎繼承自 MergeTree,並改變了數據片段的合併邏輯。ClickHouse會將一個數據片段內所有具有相同主鍵(準確的說是排序鍵)的行替換成一行,這一行會存儲一系列聚合函數的狀態。 可以使用AggregatingMergeTree表來做增量數據的聚合統計, ...
  • 插入數據的多種方式 直接通過insert語句插入 語法: INSERT [INTO] tbl_name [(col_name [, col_name] ...)] { {VALUES | VALUE} (value_list) [, (value_list)] ... } 示例: # 插入數據 第一 ...
  • 一:背景 1. 講故事 在 SQLSERVER 的眾多阻塞場景中,有不小的一部分是由於 PFS 頁上的 閂鎖 等待造成的,畢竟寫頁操作一定是要串列化的,在面對 閂鎖(PAGELATCH_X) 等待問題上,一定要搞明白 PFS 頁到底是什麼? 這篇就來好好聊一聊。 二:PFS 詳解 1. 什麼是 PF ...
  • MySQL執行流程 select語句執行流程 增刪改語句執行流程 update語句的整體執行流程和select語句是一樣的。只是少了緩存的那一步驟。 mysql想完成數據的修改,會先從存儲引擎層讀取數據,把數據讀取到服務層進行數據的修改,再通過存儲引擎層把數據更新到資料庫中。 mysql每次讀取數據 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...