日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

冷數(shù)據(jù)分層存儲(chǔ)的開啟和使用

更新時(shí)間:

本文介紹如何開啟冷數(shù)據(jù)分層存儲(chǔ)功能,以及開啟功能后的使用方式。

使用限制

  • PolarDB PostgreSQL版Oracle語(yǔ)法兼容 2.0)且內(nèi)核小版本為2.0.14.21.0及以上支持冷數(shù)據(jù)分層存儲(chǔ)功能。

  • 開啟冷數(shù)據(jù)分層存儲(chǔ)功能后,無(wú)法關(guān)閉該功能,只能刪除冷數(shù)據(jù)。如果沒有存儲(chǔ)數(shù)據(jù),開啟該功能本身不會(huì)產(chǎn)生費(fèi)用。

  • 開啟熱備的PolarDB PostgreSQL版(兼容Oracle)集群不支持開啟冷數(shù)據(jù)分層存儲(chǔ)功能。

    說(shuō)明

    如以上場(chǎng)景您需要開啟冷數(shù)據(jù)分層存儲(chǔ)功能,請(qǐng)聯(lián)系我們處理。

  • 開啟冷數(shù)據(jù)分層存儲(chǔ)功能后,如果您的PolarDB PostgreSQL版(兼容Oracle)集群已經(jīng)開啟熱備,不支持更換主可用區(qū)

    說(shuō)明

    如以上場(chǎng)景您存在更換主可用區(qū)需求,請(qǐng)聯(lián)系我們處理。

  • 暫不支持的DDL:

    • 暫不支持在OSS表空間中創(chuàng)建數(shù)據(jù)庫(kù):CREATE DATABASE dbname TABLESPACE OSS;

    • 暫不支持將已有數(shù)據(jù)庫(kù)一次性轉(zhuǎn)入OSS表空間:ALTER DATABASE dbname SET TABLESPACE OSS;

開啟方式

  1. 購(gòu)買按量付費(fèi)集群購(gòu)買包年包月集群,登錄PolarDB控制臺(tái)

  2. 單擊目標(biāo)集群ID,進(jìn)入集群基本信息頁(yè)。

  3. 在左側(cè)導(dǎo)航欄選擇配置與管理 > 冷數(shù)據(jù)分層存儲(chǔ),進(jìn)入PolarDB冷數(shù)據(jù)分層存儲(chǔ)頁(yè)面。

  4. 單擊一鍵開啟,進(jìn)入數(shù)據(jù)歸檔列表頁(yè)面。

    image (1).png

  5. 在頁(yè)面上可以查看實(shí)例基本信息數(shù)據(jù)歸檔列表,在數(shù)據(jù)歸檔列表一欄,可以分別查看整表歸檔列表分區(qū)表歸檔列表

說(shuō)明
  • 如果當(dāng)前還沒有存入任何冷數(shù)據(jù),數(shù)據(jù)歸檔列表會(huì)呈現(xiàn)空白狀態(tài)。

  • 開啟之后,數(shù)據(jù)默認(rèn)存儲(chǔ)在自帶的云盤高速存儲(chǔ)介質(zhì)上,需要通過簡(jiǎn)單的處理才能將數(shù)據(jù)冷存,即轉(zhuǎn)存入OSS。具體操作步驟請(qǐng)參考數(shù)據(jù)冷存的幾種模式

數(shù)據(jù)冷存的幾種模式

數(shù)據(jù)冷存是指將數(shù)據(jù)表/索引/物化視圖轉(zhuǎn)存入OSS,轉(zhuǎn)存后不再占用或者極少量占用數(shù)據(jù)庫(kù)云盤存儲(chǔ)空間,從而大大降低數(shù)據(jù)庫(kù)的存儲(chǔ)成本。數(shù)據(jù)冷存后,所有的增刪改查SQL都透明,無(wú)需做任何修改。

普通表/索引/物化視圖冷存

  • 將已有數(shù)據(jù)表/索引/物化視圖冷存。

    ALTER  TABLE  tblname  SET  TABLESPACE OSS;
    ALTER  INDEX  idxname  SET TABLESPACE OSS;
    ALTER Materialized View mvname SET TABLESPACE OSS;
    說(shuō)明

    在對(duì)表執(zhí)行ALTER TABLE tblname SET TABLESPACE OSS時(shí),默認(rèn)只會(huì)將表本身的數(shù)據(jù)轉(zhuǎn)存至OSS,表上建立的索引需要單獨(dú)再執(zhí)行ALTER INDEX才能將索引數(shù)據(jù)也轉(zhuǎn)存至OSS。

  • 直接在OSS存儲(chǔ)中新建數(shù)據(jù)表/索引/物化視圖。

    • 方式一:CREATE時(shí)指定TABLESPACE OSS。

      CREATE TABLE tblname (...) TABLESPACE OSS;
      CREATE TABLE tblname(...) TABLESPACE OSS as SELECT ...;
      CREATE INDEX idxname ON tblname(columnname) TABLESPACE OSS;
      CREAE INDEX idxname ON tblename USING GiST(columnname) TABLESPACE OSS;
      CREATE MATERIALIZED VIEW table_name TABLESPACE OSS AS query [ WITH [ NO ] DATA ];
    • 方式二:設(shè)置默認(rèn)表空間為OSS表空間。

      SET default_tablespace = 'oss';
      CREATE  TABLE  tblname  (...) ;
      CREATE  INDEX  idxname ON  tblname(columnname);
      CREAE  INDEX  idxname  ON tblename USING GiST(columnname);
      CREATE MATERIALIZED VIEW  table_name  AS query [ WITH [ NO ] DATA ];
      說(shuō)明

      這種方式設(shè)置默認(rèn)表空間為OSS后,所有的創(chuàng)建表、索引、物化視圖操作都會(huì)直接將對(duì)象建立在OSS存儲(chǔ)上。如果不需要?jiǎng)?chuàng)建冷存對(duì)象時(shí),需要將默認(rèn)表空間進(jìn)行重置:

      RESET default_tablespace;

LOB字段獨(dú)立冷存

LOB字段是指PolarDB PostgreSQL版(兼容Oracle)中的blob、text、json、jsonb、array類型以及時(shí)空類型字段,這些類型往往單個(gè)對(duì)象較大,占用的存儲(chǔ)空間較多,但更新頻率不高。為了支持這類場(chǎng)景的降本需求,PolarDB PostgreSQL版(兼容Oracle)冷數(shù)據(jù)分層存儲(chǔ)功能支持將大對(duì)象字段單獨(dú)進(jìn)行冷存,其余字段的存儲(chǔ)保持不變。LOB字段支持SQL一鍵冷存,具體使用方式如下:

--創(chuàng)建帶有大對(duì)象字段的表
CREATE TABLE  test_large_object(id serial, val text);

--將大對(duì)象字段獨(dú)立冷存
ALTER TABLE test_large_object alter column val set (storage_type='oss');

--寫入大對(duì)象數(shù)據(jù),此時(shí)寫入的text字段內(nèi)容存儲(chǔ)在OSS上
INSERT INTO test_large_object(val) VALUES((SELECT string_agg(random()::text, ':') FROM generate_series(1, 10000)));
說(shuō)明

需要提前設(shè)置大對(duì)象字段的存儲(chǔ)為OSS,之后寫入的數(shù)據(jù)才會(huì)存入OSS。

分區(qū)表冷存

分區(qū)表是一種比較常見的冷存對(duì)象,在冷存功能使用上有一些特殊的方式。

  • 全部分區(qū)表冷存。

    • 方式一:依次將已經(jīng)存在的分區(qū)子表轉(zhuǎn)為冷存。

      --prt1為分區(qū)表(父表)
      --prt1_p1為prt1的子表
      --prt2_p2為prt1的另一張子表
      --對(duì)所有的子表執(zhí)行alter操作
      ALTER  TABLE  prt1_p1  SET  TABLESPACE OSS;
      ALTER  TABLE  prt1_p2  SET  TABLESPACE OSS;
    • 方式二:將分區(qū)表主表直接創(chuàng)建在OSS tablespace上。

      CREATE TABLE prt1 (a int, b int) PARTITION BY RANGE(a) TABLESPACE OSS;
      
      --分區(qū)子表默認(rèn)都繼承了父親tablespace屬性,直接將表創(chuàng)建在oss tablespace上
      CREATE TABLE prt1_p1 PARTITION OF prt1 FOR VALUES FROM (0) TO (250);
      CREATE TABLE prt1_p2 PARTITION OF prt1 FOR VALUES FROM (250) TO (500);
    • 方式三:設(shè)置默認(rèn)表空間為OSS表空間后再創(chuàng)建分區(qū)表。

      SET default_tablespace = 'oss';
      CREATE  TABLE  prt1 (a int, b int) PARTITION BY RANGE(a);
      CREATE TABLE prt1_p1 PARTITION OF prt1 FOR VALUES FROM (0) TO (250);
      CREATE TABLE prt1_p2 PARTITION OF prt1 FOR VALUES FROM (250) TO (500);
  • 部分分區(qū)子表冷存:

    當(dāng)只需要將已過期(低頻訪問)的分區(qū)子表轉(zhuǎn)為冷數(shù)據(jù)時(shí),可以直接對(duì)子表進(jìn)行更換表空間操作。未過期(高頻訪問)的分區(qū)子表無(wú)需任何改變,仍存儲(chǔ)在數(shù)據(jù)庫(kù)云盤中,這樣既不影響分區(qū)表的訪問性能,又降低了存儲(chǔ)成本。

    --prt1為分區(qū)表(父表)
    --prt1_p1為prt1的未過期子表
    --prt2_p2為prt1的已過期子表
    --對(duì)已過期子表執(zhí)行alter操作
    ALTER  TABLE  prt1_p2  SET  TABLESPACE OSS;

數(shù)據(jù)冷熱分層

冷數(shù)據(jù)物化緩存

您可以通過修改polar_smgrcache_size參數(shù)來(lái)設(shè)置冷數(shù)據(jù)物化緩存的大小。

  1. 登錄PolarDB控制臺(tái)

  2. 單擊目標(biāo)集群ID,進(jìn)入集群基本信息頁(yè)。

  3. 在左側(cè)導(dǎo)航欄選擇配置與管理 > 參數(shù)配置,找到polar_smgrcache_size參數(shù),單擊修改參數(shù)

  4. 參考以下示例設(shè)置polar_smgrcache_size參數(shù)。

    設(shè)置值

    緩存大小

    0

    0(緩存被關(guān)閉)

    1

    1 GB

    2

    2 GB

    128

    128 GB(當(dāng)前支持的最大值)

  5. 單擊左上角的提交修改,在彈出的保存改動(dòng)對(duì)話框中,單擊確定。修改該參數(shù)后,集群會(huì)重啟。

說(shuō)明
  • PolarDB PostgreSQL版(兼容Oracle)在開啟冷數(shù)據(jù)分層存儲(chǔ)功能時(shí),默認(rèn)會(huì)在云盤上開辟很小量的物化緩存空間,用于存儲(chǔ)元數(shù)據(jù)及一些IO合并。如果要追求更高的性能,可根據(jù)數(shù)據(jù)量及使用場(chǎng)景在控制臺(tái)將物化緩存做調(diào)整,調(diào)整后重啟數(shù)據(jù)庫(kù)立即生效。

  • 開啟并使用了冷數(shù)據(jù)分層存儲(chǔ)功能后,如果將polar_smgrcache_size參數(shù)調(diào)整為0,則會(huì)關(guān)閉緩存功能,這可能會(huì)導(dǎo)致崩潰恢復(fù)變得非常慢,且重啟期間無(wú)法重新打開該參數(shù)。如果出現(xiàn)這種情況,可以聯(lián)系我們申請(qǐng)重新打開緩存功能,加速崩潰恢復(fù)。

開啟冷數(shù)據(jù)物化緩存后,您可以通過如下方式查詢緩存使用情況:

-- 創(chuàng)建擴(kuò)展
CREATE extension polar_monitor;

-- 查詢物化緩存基本使用情況
SELECT * FROM polar_smgrcaches;

-- 字段說(shuō)明:
  -- smgrcache:緩存id
  -- relfilenode:該緩存對(duì)應(yīng)的表文件
  -- relchunknumber:該緩存在表文件中的位置
  -- nblocks:該緩存的大小
  -- dirty:是否為臟
  -- usagecount:使用計(jì)數(shù)
  -- pinning_backends:引用計(jì)數(shù)

-- 強(qiáng)制將物化緩存刷到OSS中
SELECT polar_flush_smgrcache(); 

-- 強(qiáng)制淘汰物化緩存
SELECT polar_evict_smgrcache(); 

冷數(shù)據(jù)的訪問

冷數(shù)據(jù)增刪改查

冷存數(shù)據(jù)(即已經(jīng)存儲(chǔ)在OSS表空間中的對(duì)象)做增刪改查的SQL都是透明的,無(wú)需進(jìn)行任何改動(dòng)。

冷數(shù)據(jù)恢復(fù)

數(shù)據(jù)轉(zhuǎn)存至OSS時(shí)會(huì)進(jìn)行壓縮處理,如果要將已經(jīng)存儲(chǔ)在OSS中的數(shù)據(jù)恢復(fù)至云盤存儲(chǔ),需確保云盤上有足夠的存儲(chǔ)空間,通常要比OSS上的存儲(chǔ)空間增大約1.4~4倍。

冷數(shù)據(jù)清除

刪除冷存表/索引/物化視圖的SQL也是透明的,無(wú)需進(jìn)行任何改動(dòng)。

DELETE  FROM tblname WHERE ...;
TRUNCATE  TABLE  tblname;
DROP  TABLE  tblname;
...