全部產品
Search
文件中心

PolarDB:概述

更新時間:Sep 06, 2024

若叢集中某些庫表的資料幾乎沒有更新、插入和修改操作,且讀取頻率非常低,如果您有降本需求,可以使用PolarDB MySQL版提供的冷資料歸檔功能,將這部分資料轉存至低成本的OSS上儲存,以降低資料存放區成本。本章節介紹了冷資料歸檔方法、技術原理等內容。

技術原理

歸檔為CSVORC格式的技術原理圖如下: 冷資料歸檔原理圖叢集中的熱資料存放區在PolarStore中,各個PolarDB節點通過Distributed File System(PolarFileSystem)訪問PolarStore中的資料。為降低資料存放區成本,達到冷熱資料分離管理的目的,您可以將PolarStore中的冷資料轉存至OSS:

  • 對於普通表,您可以將冷資料歸檔為CSV或ORC格式並儲存在OSS上,隨後PolarDB節點可通過阿里雲內網訪問OSS上的資料。

  • 對於分區表,您可以將冷資料歸檔為CSV或ORC格式並儲存在OSS上,或在讀寫節點上建立DLM策略來自動歸檔冷資料。目前冷資料歸檔功能支援將分區表中的部分資料以OSS外表的形式歸檔至OSS,同時也支援將分區表中的部分分區直接轉存至OSS。

歸檔後的資料格式會轉變為CSV或ORC格式並分成多個檔案儲存體在OSS上,PolarStore中的這部分資料會被自動刪除,儲存費用也會隨著儲存空間容量的降低而減少。

說明
  • 歸檔分區表中的冷資料功能目前處於灰階階段,如需使用,請前往配額中心,根據配額IDpolardb_mysql_hybrid_partition找到配額名稱,在對應的操作列單擊申請來開通該功能。

  • 冷資料歸檔完成後,OSS上的歸檔表唯讀,且查詢效能較差。在沒有索引且使用串列查詢的情況下,查詢效能約為InnoDB儲存引擎的五分之一到十分之一。您需要提前測試資料歸檔後是否能滿足您的查詢效能要求。

  • 當資料被歸檔為CSV或ORC格式作為冷資料存放區後,不再支援事務。

  • 冷資料歸檔完成後,進行備份操作時,不會對OSS上已歸檔的冷資料進行備份,因此不支援通過備份進行庫表恢複、備份恢複或按還原時間點操作。

費用

冷資料存放區按照OSS中冷資料存放區的容量收取費用,具體收費為:

  • 中國內地地區:0.0000325美元/GB/小時。

  • 中國香港及海外地區:0.0000455美元/GB/小時。

您可以購買PolarDB儲存包,來抵扣OSS中冷資料的儲存容量,以減少儲存冷資料的費用。關於PolarDB儲存包的說明,請參見什麼是儲存包

PolarDB儲存包抵扣規則如下:

地區類型

抵扣因子

1 GB儲存包的OSS儲存空間抵扣量

中國內地

0.045

1/0.045=22.22 GB

中國香港及海外

0.045

1/0.045=22.22 GB

例如,您購買了一個容量為100 GB的PolarDB儲存包,抵扣完儲存空間使用量後還剩50 GB。您的叢集的冷資料在中國內地地區使用了50 GB的OSS儲存用量。此時,儲存包將自動使用2.25 GB(50/22.22)的容量用於抵扣該部分的備份空間用量,最後該儲存包還剩餘47.75 GB容量。

若儲存包中剩餘容量不足以冷資料OSS儲存用量,超出部分將正常隨用隨付。

說明

版本要求

歸檔為CSVORC格式的企業版叢集的版本要求如下:

  • 當產品系列為叢集版時,版本需為如下版本之一:

    • PolarDB MySQL版8.0.1版本且修訂版本為8.0.1.1.31及以上。

    • PolarDB MySQL版8.0.2版本且修訂版本為8.0.2.2.9及以上。

  • 當產品系列為多主叢集(庫表)時,版本需為PolarDB MySQL版8.0.1.0.13及以上。

不同檔案格式對比

歸檔冷資料時,您可以根據實際需要,選擇合適的歸檔檔案格式。

檔案格式

歸檔速度

讀取速度

是否是開源格式

佔用的儲存空間

歸檔後的資料修改方式

CSV

較ORC格式快

說明

只支援使用單線程方式歸檔資料。

行存節點上,較ORC格式檔案快。

說明

支援使用單線程和多線程兩種方式讀取資料。

與沒有索引的InnoDB引擎中的表佔用的儲存空間一致

需要將OSS資料導回至PolarStore,再進行修改。

ORC

說明

只支援使用單線程方式歸檔資料。

適合通過單獨的列存節點進行AP查詢。

說明

只支援使用單線程方式讀取資料。

相同資料量的情況下,佔用的儲存空間為CSV格式檔案佔用的儲存空間的45%。

使用說明

  • 歸檔冷資料

    您需要先登入PolarDB控制台開啟冷資料歸檔功能,然後串連資料庫叢集,再執行冷資料歸檔操作:

  • 查詢冷資料

    對普通表和分區表執行冷資料歸檔操作後,您可以通過以下方法查詢歸檔後的冷資料:

    • 普通表:執行冷資料歸檔後,查詢冷資料的方法和查詢熱資料的方法一致,不需要修改訪問方式。

    • 分區表:執行冷資料歸檔後,查詢冷資料的操作方法請參見查詢混合分區

    由于歸檔後的冷資料為單表多檔案格式,在查看冷資料時,您可以採用並行查詢進行查詢最佳化,詳情請參見基於OSS外表的單表多檔案查詢

  • 修改冷資料

    如果您有低頻修改歸檔到OSS上冷資料的需求,您可以通過ALTER ENGINE文法將OSS資料導回至PolarStore進行修改。資料導回至PolarStore後,會同步刪除OSS上的冷資料。修改完資料之後,您可以再次將修改後的表歸檔為OSS表。詳情請參見將OSS資料導回至PolarStore

  • 刪除冷資料

    首先,你需要使用DROP TABLE刪除歸檔表,然後再通過CALL dbms_oss.delete_table_file('database_name', 'table_name');來刪除歸檔後的冷資料。

聯絡我們

若您對冷資料歸檔功能有任何問題,可通過DingTalk搜尋群號入群諮詢。您可以直接@群內專家,並附上您要諮詢的問題;同時群內也有PolarDB MySQL版 小助手24*7小時線上回答您的問題。

DingTalk群號:24490017825