1. 自建MySQL于ext4之上的问题
自建的MySQL,一般也并不会配置专业的DBA运维,由开发人员兼职,所以在数据库的运维上一般是越简单越好。通常MySQL的运维过程中会遇到以下几个常见的问题:
- 存储空间问题
当部署的MySQL数据库运行一段时间后,随着数据量的增长,之前预估的存储空间可能不足,需要进行扩容。ext4本地文件系统不支持在线扩容,或者扩容的过程中会有不同程度的I/O hang,影响业务运行。一般需要规划停机窗口进行存储扩容,维护麻烦。
- 性能问题
自建的MySQL,如果配置不当,可能会性能不足。通常I/O是引起数据库性能不足的原因。
- 高可用问题
自建的MySQL,通用使用binary log进行主备复制来实现高可用。如果采用异步复制,down机可能会导致主备数据不一致或者数据丢失。如果采用强同步复制,会严重影响主库的性能。这种部署形态使用两份数据存储,成本高。另外,还需要独立的第三方组件用来保证主备的及时切换,运维复杂。
2. 自建MySQL于DBFS之上的优势
自建MySQL于DBFS之上,比自建于ext4之上,会有以下几个好处:
- 运维方便
DBFS支持在线扩容,MySQL数据库不需要安排停机扩容窗口。
- 高性能
基于用户态实现,减少数据copy;针对数据库关键I/O优化,性能更好。DBFS支持原子写,MySQL数据库可闭“Double Write Buffer”,减少I/O争用,提高数据库性能。
性能对比图:
- 高可用
基于DBFS共享的集群文件系统功能部署MySQL高可用集群会带来明显的优势。两台ECS共享一份数据,减少存储成本。另外不再需要配置binary log来进行主备同步,数据强一致,MySQL的性能会更好。主库Down机,只需要在备库将MySQL服务拉起就可以,运维简单。部署架构图如下,具体部署细节请参考最佳实践“https://help.aliyun.com/document_detail/149749.html”。
了解更多关于数据库文件存储DBFS企业版的产品信息,欢迎访问https://www.aliyun.com/product/dbfs
如果您对数据库文件存储DBFS企业版有任何问题,欢迎钉钉扫描以下二维码加入数据库文件存储DBFS技术交流群。