Oracle与MySQL迁移对比

Posted by WS on September 28, 2021
  1. 最近公司各项服务开始上云, 包含数据库部分, 原来都是买的Oracle, 现在都准备上免费的MySQL….为了节约成本, 当然也需要考虑迁移可行性和差异化问题处理, 简单对比如下:
Oracle MySQL
适合大批量数据处理,速度快 不适合批处理,不适合大事务
单库多表海量数据查询 不适合超大表,分区功能不完善
强大的查询优化器和统计信息。自动优化的执行计划,适合多表关联 不适合多表关联,不完善的生成基于成本的执行计划,基本可认为使用的是基于rule的执行计划。不支持数据库级别的并行查询
数据库层面SQL优化手段多,并行,物化视图,append,分区 更多的要求是业务逻辑和表设计优化
堆表,使用rowid 标记物理地址 索引化表,必须包含主键
需要购买, 还不便宜 免费
单实例,扩展不便 非常容易online添加新节点,可以任意扩展
  1. MySQL变慢的一般原因总结:

    1. MySQL 需要避免大事务,大表(row的长度).

    2. MySQL避免多表关联,多使用简单查询.

  2. 迁移方式:

    1. kettle工具, 简单了解了下是比较容易操作的, 为了提高迁移性能可部署服务端到高性能服务器;
    2. Java或者Python脚本迁移.

%