RDS MySQL實例數據量較大時,存儲成本會隨之增高。業務數據通常分為冷數據和熱數據,將對象存儲(OSS)作為歸檔冷數據的存儲介質,能夠大幅降低用戶的存儲成本。
功能簡介
在開啟RDS MySQL通用云盤的數據歸檔OSS功能后,用戶可通過執行下面的DDL語句實現數據在ESSD和OSS之間的轉換。通過數據歸檔OSS功能,用戶能夠將低頻訪問、數據量大的表轉儲至OSS,并通過原生InnoDB的訪問方式去讀取冷表數據。數據歸檔DDL操作如下:
歸檔
ALTER TABLE $table_name ENGINE_ATTRIBUTE='{"OSS":"Y"}';
說明RDS MySQL支持對整表數據全部歸檔到OSS存儲,執行歸檔后此表不再支持寫入,僅支持SELECT、DROP TABLE、DROP DATABASE、RENAME操作。
取回
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
產品類型:標準版、倚天版
存儲類型:通用云盤
說明如果實例不是通用云盤,可進行ESSD云盤變更為通用云盤。
本地盤、SSD云盤暫不支持變更至通用云盤。
版本:大于或等于MySQL 8.0 20240131
產品系列:基礎系列、高可用系列、集群系列
暫不支持地域:韓國(首爾)、英國(倫敦)
費用
公測期間免費
公測期間免費,時間自2024年4月24日起,至2024年7月7日結束。公測截止日期結束后,會根據具體的云盤OSS歸檔數據量進行收費。
收費說明
目前收費方式僅支持按量付費,具體產品收費地域及系列定價如下:
收費地域 | 基礎系列定價 | 高可用系列定價 | 集群系列定價(根據節點數量計算) |
華東1(杭州)、華東2(上海)、華東5(南京-本地地域)、華東6(福州-本地地域)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5 (呼和浩特)、華北6(烏蘭察布 )、華中1(武漢-本地地域)、華南1(深圳)、華南2(河源)、華南3(廣州)、西南1(成都) | 0.00021元/GB/小時 | 0.00042元/GB/小時 | 0.00021元/GB/小時 |
中國(香港) | 0.00022元/GB/小時 | 0.00044元/GB/小時 | 0.00022元/GB/小時 |
菲律賓(馬尼拉)、美國(硅谷) | 0.00038元/GB/小時 | 0.00076元/GB/小時 | 0.00038元/GB/小時 |
日本(東京)、新加坡、印度尼西亞(雅加達)、德國(法蘭克福) | 0.00022元/GB/小時 | 0.00044元/GB/小時 | 0.00022元/GB/小時 |
馬來西亞(吉隆坡) | 0.00037元/GB/小時 | 0.00074元/GB/小時 | 0.00037元/GB/小時 |
美國(弗吉尼亞) | 0.00035元/GB/小時 | 0.0007元/GB/小時 | 0.00035元/GB/小時 |
暫不支持地域:泰國(曼谷)、韓國(首爾)、英國(倫敦)、阿聯酋(迪拜)。
使用限制
RDS MySQL實例計費方式為Serverless時,暫不支持數據歸檔功能。
當前存儲在OSS端的表僅支持SELECT、DROP TABLE、DROP DATABASE、RENAME操作。用戶將數據轉存至ESSD后,該表將支持完整的訪問權限。
當前OSS暫不支持分區表、包含全文索引的表、加密表、包含外鍵的表和壓縮表(表壓縮、頁壓縮)。
受限于OSS的訪問延遲,相比ESSD存儲,冷表的數據訪問會具有更大的延遲(10ms級別)。
RDS MySQL歸檔表的數據大小不能低于6M。
歸檔DDL屬于非instant算法執行,執行時間受表全量數據量大小影響,且DDL期間會持有MDL鎖情況。
開啟數據歸檔后,會影響實例的備份及部分功能項,詳情如下:
不支持功能項
說明
秒級備份
如需開啟秒級備份,請關閉數據歸檔功能。請參見關閉數據歸檔功能。
如果實例需要開啟數據歸檔功能,需提前確保秒級備份功能處于關閉狀態。
跨地域備份
如需開啟跨地域備份,請關閉數據歸檔功能。請參見關閉數據歸檔功能。
如果實例需要開啟數據歸檔功能,需提前確保跨地域備份功能處于關閉狀態。
庫表恢復
選擇按庫恢復時,僅可恢復所選擇庫中的非數據歸檔的數據。
備份集下載
下載的備份集中僅包含非數據歸檔的數據。
說明已開啟通用云盤數據歸檔的實例,相較于未開啟時,由于需要恢復數據歸檔的數據,備份/恢復的時長會增長。
注意事項
OSS和讀取會占用一部分內存,因此需要合理調整數據轉換和數據訪問的速度和頻率。
開啟和關閉數據歸檔功能
開啟數據歸檔功能
您可以在實例購買頁或實例詳情頁開啟數據歸檔功能:
實例購買頁
在選擇存儲類型時,選擇通用云盤,頁面會自動顯示三層存儲(緩存、數據、冷存)的配置欄,可在冷存配置項中打開數據歸檔功能的開關。
實例詳情頁
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID(該實例符合數據歸檔OSS功能使用范圍的實例)。
在實例詳情頁面,單擊通用云盤開關設置,在冷存配置項中打開數據歸檔功能的開關。
重要數據歸檔OSS功能的開啟過程并不是無損操作,會有30s左右的閃斷。
關閉數據歸檔功能
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
在實例詳情頁面,單擊通用云盤開關設置,在冷存配置項中關閉數據歸檔功能的開關。
重要數據歸檔OSS功能的關閉過程并不是無損操作,會有30s左右的閃斷。
數據歸檔OSS功能關閉時要求OSS中沒有歸檔表數據,如果OSS中有歸檔表數據則不允許關閉,需要先通過DDL將歸檔表轉為在線表或者將歸檔表DROP掉,再關閉數據歸檔OSS功能。
查看歸檔數據信息
通過控制臺查看:
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID(該實例符合數據歸檔OSS功能使用范圍的實例)。
在左側導航欄,單擊冷存管理,打開歸檔層設置,可查看已開啟數據歸檔的數據庫。
通過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 |
|
innodb_oss_prefetch | ON |
|
innodb_oss_prefetch_linear_pct_threshold | 10% |
|
innodb_oss_prefetch_random_pct_threshold | 30% |
|
innodb_oss_prefetch_task_limit | 32 |
|
oss_max_connections | 64 |
|
常見問題
Q:MySQL執行ALTER DDL
報錯[OSS] Size of tables is less than 6291456
,是什么原因?
A:MySQL歸檔表的數據大小不能低于6M。