使用MSYQL替换ORACLE 20TB左右的库,如何设计才能确保性能和高可用?

使用MSYQL替换ORACLE 20TB左右的库,如何设计才能确保性能,同时保证高可用。显示全部

使用MSYQL替换ORACLE 20TB左右的库,如何设计才能确保性能,同时保证高可用。

收起
参与12

查看其它 3 个回答xuchenliang的回答

xuchenliangxuchenliang  高级MySQL DBA , 某新闻APP

MySQL高可用架构可以参考MHA/PXC/MGR,根据自己的实际需要进行选择
数据安全性方面考虑增强半同步
数据库版本建议8.0以上

MySQL 单实例承担20TB的数据量不是不可以,只不过负担太重了,你需要考虑的有以下几个方面:
1、单实例TPS/QPS限制
2、备份、恢复的影响
3、磁盘容量的规划
4、锁争用、单实例连接数等等

如果全部迁移到MySQL,建议
1、先垂直拆分,由多个集群承担对应的业务
2、水平拆分,确定分片键,需要多少分片承担压力(单表建议不要超过500w,单实例不要超过500张,单实例数据总容量不要超过1T)
3、由多个从库承担读压力(需要考虑延迟,交易类型一律走主库)

有了高可用,有了拆分,那么还需要中间访问层,目前比较好的开源proxy有
1、简单读写分离的:ProxySQL、DBLE、Cetus等
2、具备分库分表的:DBLE、Cetus、vitness等

以上只是简单的一点看法

事业单位 · 2019-10-23
浏览2230

回答者

xuchenliang
高级MySQL DBA某新闻APP

xuchenliang 最近回答过的问题

回答状态

  • 发布时间:2019-10-23
  • 关注会员:5 人
  • 回答浏览:2230
  • X社区推广