本文为您介绍如何将PolarDB-X原本的InnoDB引擎转换为X-Engine引擎。
背景信息
目前有较多RDS存量用户想要使用X-Engine,这些用户使用数据库有如下特点:
- 实例版本大多为MySQL 5.6或5.7,MySQL 8.0较少。
- 单实例数据量比较大,达到实例规格所能支持的磁盘空间上限(例如4核8GB的规格最大支持2TB的本地盘)。
- 同时使用PolarDB-X,特别是部分客户使用的是较老版本的PolarDB-X,或者做过一些定制功能(例如SQL透传)。
针对用户的需求,阿里云提供PolarDB-X的转换方案,如果您的业务也需要将PolarDB-X中的InnoDB转换为X-Engine,可以参见本文进行操作。
说明 X-Engine的详细介绍请参见X-Engine简介。
切换方案
由于MySQL 8.0使用InnoDB引擎或X-Engine引擎时,在对外接口和使用体验上是相同的,因此在PolarDB-X升级完之后,可以对底层RDS实例进行逐步转换,例如PolarDB-X下面挂载了8个RDS实例,可以先将其中1个RDS实例的引擎转换为X-Engine,运行一段时间,确认没有兼容性和性能问题之后,再转换剩下的7个实例。
转换前验证空间压缩效率
在开始使用X-Engine之前,建议购买一个同规格的X-Engine引擎实例,并通过阿里云DTS服务导入原InnoDB引擎实例的数据,查看空间压缩效率。空间压缩的结果可以为以下两方面提供参考:
- 实例存储空间
根据空间压缩效率,可以确定转换为X-Engine之后所需购买的实例规格, 例如如果空间占用压缩到原有的30%以下, 则原来购买3TB磁盘空间的实例可以转换为使用1TB磁盘空间的X-Engine实例,或者可以使用相同规格的实例,为未来业务发展留下更多存储空间。
- 数据库分片数
存储空间降低后,可以考虑减少数据库分片数,例如将原来分布在多个实例上的数据库,合并到同一个实例上,大幅降低成本。
说明 X-Engine引擎实例验证完之后可以释放,也可以清空数据以供正式转换时使用。
在文档使用中是否遇到以下问题
更多建议
匿名提交