冷資料通常指在叢集中某些資料庫表中幾乎沒有更新且讀取頻率非常低的資料。如果您有降低成本的需求,可以使用PolarDB MySQL版提供的冷資料歸檔功能,將這部分資料轉存至低成本的Object Storage Service服務(OSS),以降低資料存放區成本。
技術原理
PolarDB MySQL版支援將資料歸檔為CSV或ORC兩種格式。不同格式的歸檔原理有所差別,詳細原理如下所示:
您可以採用手動或自動兩種方式進行資料歸檔。歸檔後的資料格式將轉變為CSV或ORC格式,並分成多個檔案儲存體在OSS上。同時,PolarDB儲存空間內的這部分資料將被自動刪除,儲存費用也將隨著儲存空間容量的降低而減少。隨後,PolarDB的節點可以通過阿里雲內網訪問OSS上的資料。更多資訊,請參見手動歸檔冷資料與自動歸檔冷資料。
歸檔分區表功能目前處於灰階階段,如需使用,請前往配額中心,根據配額ID polardb_mysql_hybrid_partition
找到配額名稱,在對應的操作列單擊申請來開通該功能。
歸檔格式對比
歸檔冷資料時,您可以根據以下對比評估選擇適合的格式進行歸檔。
對比項 | CSV | ORC |
開源格式 | 是 | 是 |
歸檔方式 |
| 手動歸檔: |
歸檔速度 | 較ORC格式快 說明 只支援使用單線程方式歸檔資料。 | 慢 說明 只支援使用單線程方式歸檔資料。 |
查詢速度 |
說明 支援使用單線程和多線程兩種方式讀取資料。 |
說明 只支援使用單線程方式讀取資料。 |
支援事務 | 否 | 否 |
索引能力 | 否 | 否 |
歸檔後的資料修改方式 | OSS上的歸檔表唯讀,需要將OSS資料導回至PolarDB儲存空間,再進行修改。 | |
佔用的儲存空間 | 與沒有索引的InnoDB引擎中的表佔用的儲存空間一致。 | 相同資料量的情況下,佔用的儲存空間為CSV格式檔案佔用的儲存空間的45%。 |
備份恢複 | 不支援。 說明 進行備份操作時,不會對OSS上已歸檔的冷資料進行備份,因此不支援通過備份進行庫表恢複、備份恢複或按還原時間點操作。 | |
歸檔後影響 |
|
歸檔普通表、OSS外表以及分區表均存在相關限制。請在進行歸檔操作之前仔細閱讀,以避免對您的業務產生影響。
冷資料歸檔後,資料將儲存在系統預設的Object Storage Service服務(OSS)上,而非儲存在您的OSS中。目前,僅支援在PolarDB控制台上查看歸檔後的資料列表。
版本要求
歸檔為CSV或ORC格式的企業版叢集要求如下:
產品系列為叢集版時,核心版本需為如下版本之一:
MySQL 8.0.1且修訂版本為8.0.1.1.31及以上。
MySQL 8.0.2且修訂版本為8.0.2.2.9及以上。
產品系列為多主叢集(庫表)時,核心版本需為8.0.1.0.13及以上。
使用說明
歸檔冷資料
您需要先登入PolarDB控制台並開啟冷資料歸檔功能,然後串連資料庫叢集,再執行冷資料歸檔操作:
普通表
手動將冷資料歸檔為CSV或ORC格式。更多資訊,請參見歸檔普通表。
分區表
手動將分區表的部分分區資料歸檔或歸檔至OSS外表。更多資訊,請參見歸檔分區表或分區表歸檔至OSS外表。
建立DLM策略自動歸檔冷資料。更多資訊,請參見自動歸檔冷資料。
查詢冷資料
普通表:無需修改表的訪問方式即可查詢到歸檔資料。
分區表:
歸檔至OSS外表:需要修改表的訪問方式才可查詢到歸檔資料,即查詢指定的歸檔表。
歸檔分區表:歸檔後的表為混合分區表,具體查詢方式請參考查詢混合分區。
說明由于歸檔後的冷資料為單表多檔案格式,在查看冷資料時,您可以採用並行查詢進行查詢最佳化,詳情請參見冷資料並行查詢。
修改冷資料
如果您有低頻修改OSS上冷資料的需求,您可以通過
ALTER
文法將OSS上的冷資料導回至PolarDB儲存空間進行修改。資料導回後,會同步刪除OSS上的冷資料。完成資料修改後,您可以將修改後的表資料再次歸檔至OSS。更多資訊,請參見將OSS資料導回至PolarDB儲存空間。刪除冷資料
對於不同的表和歸檔類型,刪除方式存在差異,具體區別如下。更多資訊,請參見刪除OSS上對應的檔案。
普通表和OSS外表
你需要使用
DROP TABLE
刪除歸檔表,然後再通過CALL dbms_oss.delete_table_file('database_name', 'table_name');
來刪除歸檔後的冷資料。分區表
通過
CALL dbms_oss.delete_table_file('database_name', 'table_name');
來刪除歸檔後的冷資料。
費用
冷資料按照OSS中冷資料存放區的容量收取費用,具體收費如下。同時,您可以購買PolarDB儲存包來抵扣OSS中冷資料的儲存容量,以減少這部分費用。詳細資料,請參見儲存包。
中國內地 | 中國香港及海外 |
0.0000325美元/GB/小時 | 0.0000455美元/GB/小時 |
樣本:以中國內地為例,若您開啟並執行了冷資料歸檔操作,歸檔的資料量大小為100 GB,則每小時費用為100 GB×0.0000325美元/GB/小時=0.00325美元/小時。
如何查看冷資料歸檔資料量大小,請參考查看冷資料歸檔資訊。
專家面對面
若您對冷資料歸檔功能有任何問題,可通過DingTalk搜尋群號入群諮詢。您可以直接@群內專家,並附上您要諮詢的問題。同時,群內也有PolarDB智能小助手7*24小時線上回答您的問題。
DingTalk群號:24490017825