RDS MySQL新增儲存壓縮功能,支援在儲存層對使用者資料(包含實際資料和系統日誌)進行壓縮儲存,降低單位容量資料的儲存成本。
功能簡介
RDS MySQL儲存壓縮功能預設關閉,您可以根據實際需求開啟壓縮功能。開啟壓縮功能後,成本最高降低50%。在理想情況下,啟用壓縮後所能寫入的資料量相比未啟用前最高可提升至原來的2.5倍,例如,若執行個體儲存空間大小為100 GB,開啟壓縮前可寫入100 GB資料,開啟後最高可以寫入250 GB資料,具體可寫入的資料量以實際為準。
RDS MySQL提供的儲存壓縮不僅適用於表中的實際資料(即資料空間),還涵蓋了交易記錄等其他類型的檔案(即日誌空間)。這意味著無論是日常操作產生的大量業務資料還是用於恢複和審計的日誌資訊,均可通過壓縮節省磁碟空間,間接降低資料存放區成本。
此外,開啟儲存壓縮對執行個體效能幾乎無影響,詳見附錄:儲存壓縮效能壓力測試。
實現原理
RDS MySQL基於阿里巴巴自研智能透明壓縮磁碟,搭載內嵌專用晶片,採用Zlib level (6)壓縮層級同等的壓縮演算法,在物理磁碟層面實現對資料的即時壓縮和解壓縮。整個資料壓縮和解壓縮過程完全透明,對於使用者應用無感知,避免複雜的應用適配工作。同時,透明壓縮減少磁碟內部的資料搬移,有效降低磁碟固有的寫放大,相較於傳統的軟壓縮具有更高的效率,在保持效能影響可控的情況下,使單位容量資料的儲存價格更低。
費用說明
開啟儲存壓縮功能後,執行個體儲存空間的計費規則和備份免費額度會發生變化,詳見下文。
RDS執行個體儲存空間的費用是對壓縮後的物理資料進行計費的。
儲存空間費用
開啟壓縮功能後,您可以寫入更多資料,執行個體的單位儲存空間的計費公式會發生變化,具體如下表。
儲存壓縮狀態 | 儲存空間計費公式 |
未開啟壓縮 | 儲存空間單價 * 儲存空間容量 * 時間長度 |
開啟壓縮 | 1.25 * 儲存空間單價 * 儲存空間容量 * 時間長度 |
開啟壓縮功能,需要補價差,具體費用以控制台顯示的配置費用為準。訂用帳戶執行個體開啟儲存壓縮的訂單為升配訂單,隨用隨付執行個體開啟儲存壓縮的訂單為變更配置訂單,費用計算邏輯與變更配置保持一致。
備份免費額度
如果備份大小未超過免費額度,備份不收費。超出部分將額外按使用量計費,每小時備份費用 = ( 備份總大小 - 免費備份額度 ) x 備份單價。
常規備份與歸檔備份空間的計費說明,請參見常規備份、歸檔備份計費。常規備份與歸檔備份空間的單價,請參見備份單價。
儲存類型 | 儲存壓縮狀態 | 免費額度說明 | 說明 |
高效能雲端硬碟 | 未開啟壓縮 | 儲存空間的200% | 在執行個體基本資料頁使用量統計地區的備份使用量(即實際邏輯資料量)參數處查看。 |
開啟壓縮 | 儲存空間的400% | ||
高效能本地碟 | 未開啟壓縮 | 儲存空間的50% | |
開啟壓縮 | 儲存空間的100% |
Database Backup對象為壓縮前的使用者資料,而非壓縮後的資料。
前提條件
RDS MySQL執行個體需滿足以下條件:
版本:MySQL 8.0、5.7和5.6
系列:高可用系列、叢集系列
執行個體規格:獨享規格
儲存類型:高效能雲端硬碟、高效能本地碟
儲存空間:高效能雲端硬碟1000~25000 GB ,高效能本地碟1000~2400 GB
付費類型:訂用帳戶、隨用隨付
使用限制
開啟儲存壓縮後暫不支援關閉。
變更配置限制:
已開啟儲存壓縮的獨享型執行個體暫不支援變更為通用型。
已開啟儲存壓縮的隨用隨付執行個體暫不支援轉換為Serverless執行個體。
已開啟儲存壓縮的高效能本地碟執行個體不支援變更為雲端硬碟執行個體。
已開啟儲存壓縮的執行個體不支援縮容儲存空間至1000 GB以下。
已開啟儲存壓縮的雲端硬碟執行個體不支援彈性升配。
唯讀執行個體:如需開啟主執行個體的儲存壓縮功能,必須先開啟唯讀執行個體的壓縮功能。若主執行個體已開啟儲存壓縮功能,則添加的唯讀執行個體將預設開啟儲存壓縮功能。
備份與恢複:
Database Backup對象為壓縮前的使用者資料,而非壓縮後的資料。
開啟儲存壓縮後,備份資料不支援壓縮,但通過執行個體備份恢複的執行個體將開啟儲存壓縮功能。
執行個體資源回收筒:若原執行個體已開啟儲存壓縮功能,則通過執行個體資源回收筒恢複的新執行個體也將開啟儲存壓縮功能。
開啟儲存壓縮
常見問題
Q:如何查看開啟儲存壓縮功能後磁碟空間的監控指標?
A:在RDS控制台的監控與警示頁面的標準監控頁簽,查看MySQL儲存空間使用量(MB)、磁碟使用率(%)和MySQL實體儲存體空間使用量(MB)監控指標,以瞭解開啟儲存壓縮功能後的磁碟空間使用方式,詳情請參見查看監控資訊。
附錄:儲存壓縮效能壓力測試
開啟儲存壓縮後效能無損。本節將對比開啟儲存壓縮前後的效能壓測結果,驗證其對系統效能的影響。
測試環境
應用伺服器:阿里雲ECS執行個體
RDS執行個體規格: 高可用系列獨享規格(8核32 GB)
儲存類型:高效能雲端硬碟(開啟IO效能突發)
儲存空間:1000 GB
測試案例
使用的Sysbench內建用例如下:
oltp_read_only
oltp_read_write
oltp_write_only
測試命令參考:
sysbench oltp_write_only --mysql-host=xxxxxx --mysql-port=xxxxxx --mysql-user=xxxxxx --mysql-password=xxxxxx --tables=12 --table_size=4000000 --report-interval=1 --mysql-db=xxxxxx --rand-type=uniform --threads=1 --time=100 run
測試結果
12 GB小資料集下,開啟壓縮前後的效能測試結果如下:
並發
oltp_read_only
oltp_read_write
oltp_write_only
壓縮前
壓縮後
提升比例
壓縮前
壓縮後
提升比例
壓縮前
壓縮後
提升比例
1
6738.05
6534.69
-3%
4698.92
4620.96
-2%
3296.62
3151.49
-4%
8
49446.32
48834.86
-1%
30464.41
29389.79
-4%
17935.94
17371.47
-3%
16
79411.76
78639.35
-1%
47852.25
46415.14
-3%
27851.15
27257.97
-2%
32
100070.48
100314.49
0%
68408.67
68521.4
0%
40468.31
39921.37
-1%
64
113637.5
112402.16
-1%
82387.07
82751.29
0%
57843.89
57267.82
-1%
128
113871.22
112133.53
-2%
90124.61
89783.53
0%
69850.39
68477.59
-2%
256
108770.33
107001.19
-2%
88390.16
88001.18
0%
79330.67
79290.03
0%
512
104325.11
102797.59
-1%
85701.04
84782.41
-1%
77186.74
76983.98
0%
48 GB巨量資料集下,開啟壓縮前後的效能測試結果如下:
並發
oltp_read_only
oltp_read_write
oltp_write_only
壓縮前
壓縮後
提升比例
壓縮前
壓縮後
提升比例
壓縮前
壓縮後
提升比例
1
1945.09
1902.89
-2%
1700.04
1748.47
3%
1639.68
1722.17
5%
8
15934.45
15155.32
-5%
13049.89
13230.25
1%
12203.44
12518.78
3%
16
32436.32
31072.3
-4%
23130.89
23727.46
3%
20668.33
21196.57
3%
32
56018.88
55409.98
-1%
38182.38
39864.06
4%
30498.33
31356.85
3%
64
72838.53
73459.99
1%
51153.83
51888.1
1%
41560.41
42073.77
1%
128
80598.87
80788.34
0%
58943.65
58837.55
0%
50755.55
51526.62
2%
256
80500.57
80369.96
0%
58969.94
59222.25
0%
56874.2
56512.52
-1%
512
74476.62
74758.1
0%
58756.28
58347.02
-1%
58009.1
58565.04
1%