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

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

参与12

4同行回答

王立进王立进  数据库管理员 , 长城汽车
首先要知道这是一个olap还是一个oltp。是前者的话,数据再大一倍也无妨,毕竟数据的抽取方式要变化,甚至手工作业也能满足;如果是后者,并且业务很复杂,那做的工作可要多了,先说数据的迁移,数据库中的各种对象(比如函数和过程的改写),再说大一点的查询,分库分表要考虑进来(分区不建议考虑...显示全部

首先要知道这是一个olap还是一个oltp。
是前者的话,数据再大一倍也无妨,毕竟数据的抽取方式要变化,甚至手工作业也能满足;
如果是后者,并且业务很复杂,那做的工作可要多了,先说数据的迁移,数据库中的各种对象(比如函数和过程的改写),再说大一点的查询,分库分表要考虑进来(分区不建议考虑,MySQL的分区表处处受限)。

收起
系统集成 · 2019-10-29
浏览1953
xuchenliangxuchenliang  高级MySQL DBA , 某新闻APP
MySQL高可用架构可以参考MHA/PXC/MGR,根据自己的实际需要进行选择数据安全性方面考虑增强半同步数据库版本建议8.0以上MySQL 单实例承担20TB的数据量不是不可以,只不过负担太重了,你需要考虑的有以下几个方面:1、单实例TPS/QPS限制2、备份、恢复的影响3、磁盘容量的规划4、...显示全部

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
浏览2229
renou2012renou2012  数据库管理员 , KE
首先需要明确 ORACLE 20TB !=# MYSQL 20T其次 MSYQL 替换ORACLE  首先需要探讨可行性还有就是如果使用 MSYQL对于这么大的量需要考虑的一点是冷热数据  这不是单出的分库分表就能解决的 需要根据事情去探讨...显示全部

首先需要明确 ORACLE 20TB !=# MYSQL 20T
其次 MSYQL 替换ORACLE  首先需要探讨可行性
还有就是如果使用 MSYQL对于这么大的量需要考虑的一点是冷热数据  这不是单出的分库分表就能解决的 需要根据事情去探讨

收起
金融其它 · 2019-10-23
大张猥大张猥  DBA , 上海
建议分表分库,建立好相应的索引,使用多节点主从+ heartbeat/keepalived/MHA/MMM等等一类的方案来保证高可用,希望对你有帮助显示全部

建议分表分库,建立好相应的索引,
使用多节点主从+ heartbeat/keepalived/MHA/MMM等等一类的方案来保证高可用,
希望对你有帮助

收起
互联网服务 · 2019-10-18
浏览2600

提问者

Jcm
数据库管理员广东

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2019-10-18
  • 关注会员:5 人
  • 问题浏览:6028
  • 最近回答:2019-10-29
  • X社区推广