全部產品
Search
文件中心

ApsaraDB RDS:通用雲端硬碟資料歸檔功能

更新時間:Sep 30, 2024

RDS MySQL執行個體資料量較大時,儲存成本會隨之增高。業務資料通常分為冷資料和熱資料,將Object Storage Service作為歸檔冷資料的儲存介質,能夠大幅降低使用者的儲存成本。

功能簡介

在開啟RDS MySQL通用雲端硬碟的資料歸檔OSS功能後,使用者可通過執行下面的DDL語句實現資料在ESSD和OSS之間的轉換。通過資料歸檔OSS功能,使用者能夠將低頻訪問、資料量大的錶轉儲至OSS,並通過原生InnoDB的訪問方式去讀取冷表資料。資料歸檔DDL操作如下:

  1. 歸檔

    ALTER TABLE $table_name ENGINE_ATTRIBUTE='{"OSS":"Y"}';
    說明

    RDS MySQL支援對整表資料全部歸檔到OSS儲存,執行歸檔後此表不再支援寫入,僅支援SELECT、DROP TABLE、DROP DATABASE、RENAME操作。

  2. 取回

    ALTER TABLE $table_name ENGINE_ATTRIBUTE='{"OSS":"N"}';

RDS MySQL歸檔表保留了InnoDB完整的索引資訊和事務性,具有快速位點查詢的能力,同時具備緩衝加速能力,能夠有效提升冷表訪問的效率。

功能優勢

開啟RDS MySQL通用雲端硬碟的資料歸檔OSS功能後,藉助OSS海量、安全、低成本、高可靠的特性,使用者能夠在RDS MySQL上實現極低成本的歸檔資料存放區,在具備InnoDB事務能力之上支援低頻的資料訪問,資料存放區成本相較於ESSD PL1雲端硬碟下降80%。

說明

如果使用者需要提升查詢效能,可以開啟IO加速,詳情見通用雲端硬碟IO加速功能

適用範圍

  • 引擎:RDS MySQL

  • 產品類型:標準版、倚天版

  • 儲存類型:通用雲端硬碟

    說明
  • 版本:大於或等於MySQL 8.0 20240131

  • 產品系列:基礎系列、高可用系列、叢集系列

  • 暫不支援地區:韓國(首爾)、澳大利亞(雪梨)關停中、英國(倫敦)

費用

公測期間免費

公測期間免費,時間自2024年6月20日起,至2024年7月25日結束。公測到期日結束後,會根據具體的雲端硬碟OSS歸檔資料量進行收費。

收費說明

目前收費方式僅支援隨用隨付,具體產品收費地區及系列定價如下:

收費地區

基礎系列定價

高可用系列定價

叢集系列定價(根據節點數量計算)

華東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5 (呼和浩特)、華北6(烏蘭察布 )、華南1(深圳)、華南2(河源)、華南3(廣州)、西南1(成都)

0.000032 USD/GB/小時

0.000065 USD/GB/小時

0.000032 USD/GB/小時

中國(香港)

0.000034 USD/GB/小時

0.000068 USD/GB/小時

0.000034 USD/GB/小時

菲律賓(馬尼拉)、美國(矽谷)

0.000058 USD/GB/小時

0.000117 USD/GB/小時

0.000058 USD/GB/小時

日本(東京)、新加坡、印尼(雅加達)、德國(法蘭克福)

0.000034 USD/GB/小時

0.000068 USD/GB/小時

0.000034 USD/GB/小時

馬來西亞(吉隆坡)

0.000057 USD/GB/小時

0.000114 USD/GB/小時

0.000057 USD/GB/小時

美國(維吉尼亞)

0.000054 USD/GB/小時

0.000108 USD/GB/小時

0.000054 USD/GB/小時

說明

暫不支援地區:泰國(曼穀)、韓國(首爾)、澳大利亞(雪梨)關停中、英國(倫敦)、阿聯酋(杜拜)。

使用限制

  • RDS MySQL執行個體計費方式為Serverless時,暫不支援資料歸檔功能。

  • 當前儲存在OSS端的表僅支援SELECT、DROP TABLE、DROP DATABASE、RENAME操作。使用者將資料轉存至ESSD後,該表將支援完整的存取權限。

  • 當前OSS暫不支援分區表、包含全文索引的表、加密表、包含外鍵的表和壓縮表(表壓縮、頁壓縮)。

  • 受限於OSS的訪問延遲,相比ESSD儲存,冷表的資料訪問會具有更大的延遲(10ms層級)。

  • RDS MySQL歸檔表的資料大小不能低於6M。

  • 歸檔DDL屬於非instant演算法執行,執行時間受表全量資料量大小影響,且DDL期間會持有MDL鎖情況。

  • 開啟資料歸檔後,會影響執行個體的備份及部分功能項,詳情如下:

    不支援功能項

    說明

    秒級備份

    • 如需開啟秒級備份,請關閉資料歸檔功能。請參見關閉資料歸檔功能

    • 如果執行個體需要開啟資料歸檔功能,需提前確保秒級備份功能處於關閉狀態。

    跨地區備份

    • 如需開啟跨地區備份,請關閉資料歸檔功能。請參見關閉資料歸檔功能

    • 如果執行個體需要開啟資料歸檔功能,需提前確保跨地區備份功能處於關閉狀態。

    庫表恢複

    選擇按庫恢複時,僅可恢複所選擇庫中的非資料歸檔的資料。

    備份組下載

    下載的備份組中僅包含非資料歸檔的資料。

    說明

    已開啟通用雲端硬碟資料歸檔的執行個體,相較於未開啟時,由於需要恢複資料歸檔的資料,備份/恢複的時間長度會增長。

注意事項

OSS和讀取會佔用一部分記憶體,因此需要合理調整資料轉換和資料訪問的速度和頻率。

開啟和關閉資料歸檔功能

開啟資料歸檔功能

您可以在執行個體購買頁或執行個體詳情頁開啟資料歸檔功能:

執行個體購買頁

  1. 點此開啟RDS執行個體建立頁面

  2. 在選擇儲存類型時,選擇通用雲端硬碟,頁面會自動顯示三層儲存(緩衝、資料、冷存)的配置欄,可在冷存配置項中開啟資料歸檔功能的開關。

    image

執行個體詳情頁

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID(該執行個體符合資料歸檔OSS功能使用範圍的執行個體)。

  2. 在執行個體詳情頁面,單擊通用雲端硬碟開關設定,在冷存配置項中開啟資料歸檔功能的開關。

    image

    重要

    資料歸檔OSS功能的開啟過程並不是無損操作,會有30s左右的閃斷。

關閉資料歸檔功能

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在執行個體詳情頁面,單擊通用雲端硬碟開關設定,在冷存配置項中關閉資料歸檔功能的開關。

    image

    重要
    • 資料歸檔OSS功能的關閉過程並不是無損操作,會有30s左右的閃斷。

    • 資料歸檔OSS功能關閉時要求OSS中沒有歸檔表資料,如果OSS中有歸檔表資料則不允許關閉,需要先通過DDL將歸檔錶轉為線上表或者將歸檔表DROP掉,再關閉資料歸檔OSS功能。

查看歸檔資料資訊

  1. 通過控制台查看:

    1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID(該執行個體符合資料歸檔OSS功能使用範圍的執行個體)。

    2. 在左側導覽列,單擊冷存管理,開啟歸檔層設定,可查看已開啟資料歸檔的資料庫。

      image

  2. 通過SQL命令查看:

    SELECT t.NAME AS tablespace_name, SUBSTRING_INDEX(t.NAME, '/', 1) AS database_name, SUBSTRING_INDEX(t.NAME, '/', -1) AS table_name, oss.OSS_OBJECT_NUM * oss.OSS_OBJECT_SIZE AS SIZE_IN_OSS_BYTES FROM information_schema.innodb_tables AS t JOIN information_schema.innodb_tablespaces_oss AS oss ON t.space = oss.space;

相關參考

主要參數

RDS MySQL資料歸檔開放了以下參數,使用者可結合實際使用方式修改相關參數。更多資訊,請參見RDS MySQL 8.0開放參數一覽表

參數名稱

預設值

說明

innodb_oss_ddl_threads

16

  • 該參數為歸檔資料轉換的並發線程數。

  • 在達到頻寬上限前,增大該參數能夠提高歸檔資料轉換的速度,但同時也會有更大的記憶體消耗和頻寬消耗。

innodb_oss_files_limit

10240

  • 該參數為記憶體中緩衝的歸檔資料控制塊數量。

  • 資料歸檔至OSS端時會將ESSD中的表切分為若干個資料檔案塊上傳,每個資料檔案塊對應的資料表空間、資料範圍等資訊儲存在歸檔資料控制塊中。控制塊儲存在記憶體中,用於快速定位歸檔資料請求的資料位元點,並通過LRU演算法進行緩衝控制。

innodb_oss_prefetch

ON

  • 該參數為歸檔資料預取開關。

  • 當開關開啟時,在滿足線性預取或隨機預取的條件下,OSS將直接緩衝整個歸檔資料檔案塊到緩衝池中,以減少訪問OSS的頻次,提高訪問效率。

innodb_oss_prefetch_linear_pct_threshold

10%

  • 該參數為歸檔資料線性預取閾值。

  • 當歸檔資料區塊中順序讀取的page數達到了閾值,OSS將直接緩衝整個歸檔資料檔案塊到緩衝池中。

innodb_oss_prefetch_random_pct_threshold

30%

  • 該參數為歸檔資料隨機預取閾值。

  • 當歸檔資料區塊中隨機讀取的page數達到了閾值,OSS將直接緩衝整個歸檔資料檔案塊到緩衝池中。

innodb_oss_prefetch_task_limit

32

  • 該參數為預取緩衝任務上限。

  • 在歸檔資料檔案塊完全緩衝到緩衝池前,需要額外的記憶體來儲存歸檔資料檔案塊的內容。增大該參數可能會帶來更大的記憶體消耗。

oss_max_connections

64

  • 該參數為MySQL執行個體訪問OSS時允許開啟的最大HTTP串連數。

  • 高並發下,增大該參數會提升OSS的訪問速度,但同時也會有更大的CPU、記憶體和頻寬消耗。

常見問題

Q:MySQL執行ALTER DDL報錯[OSS] Size of tables is less than 6291456,是什麼原因?

A:MySQL歸檔表的資料大小不能低於6M。