加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Oracle迁徙到MySQL,必必要搞大白这几个题目

发布时间:2019-04-09 16:28:27 所属栏目:编程 来源:杨建荣的学习笔记
导读:从Oracle迁徙到MySQL必要思量的工作着实远比我们要理清数据范例转换这些技能细节要多,也更重要。 有两个题目必要前置思量: 为什么要从Oracle迁徙出去? 为什么要迁徙到MySQL 假如解答了上述的两个题目,也就根基理顺了整个工作的脉络,我会本着根基客观的
副问题[/!--empirenews.page--]

从Oracle迁徙到MySQL必要思量的工作着实远比我们要理清数据范例转换这些技能细节要多,也更重要。

有两个题目必要前置思量:

为什么要从Oracle迁徙出去?

为什么要迁徙到MySQL

假如解答了上述的两个题目,也就根基理顺了整个工作的脉络,我会本着根基客观的立场来声名。

Oracle迁徙到MySQL,必必要搞大白这几个题目

题目1:为什么要从Oracle迁徙出去?

这件工作从行业的实践来看(首要是说互联网行业),绝对不是先从技能可行性触发,而是从营业可行性来入手,归根结底,首要的起点就两个字:本钱。

MySQL开源免费,更重要的是行业实践验证充实,以是它具有得天独厚的上风。阿里多年前的去IOE风风火火,俨然成为了行业的标杆。

本钱的工作很玄妙,言简意赅说不清。举例来说,你可以行使Office来办公,虽然你也许思量买授权可能绿色版激活,可是假如行使WPS就是光明正大的工作,虽然成果上是和Office有一些差距,可是不会存在一些恍惚的界线。

从营业的另一个维度来看,试想我们所打仗的互联网行业,许多营业除了充值和钱相干的营业,着实对付数据完备性同等性的要求就会低落一个维度,许多时辰钱能办理的题目都不是题目,比钱更重要的是什么,我认为应该是安详,安详包罗生命安详,行业安详,体系安详,这些绝对不应承出一些重大题目的,这些影响面太大,好比医院大夫给患者开药的数据,这些影响面是很大的,一旦出题目很轻易成为公家变乱。而以金融级营业作为一个分界点,之上的是安详规模,之下的规模着实就是一些可选择的空间了,这些空间很大。选择贸易的一个缘故起因也在此,有技能兜底,这些本钱对企业来说也是必要和厂商的绑定相关。稀里糊涂硬上,出了题目找不到专业的快速支持,那就悲剧了。

然后是开源定制,着实许多开源技能的开源协议是有不同的,我们回收开源技能也必要思量这些协议的界线和合用范畴。

以是到此必要明晰的是:

1.本钱身分必要衡量,绝对不长短黑即白的工作

2.迁徙到MySQL着实不是致垣办理方案,只是一种可选的方案

3.对开源技能蕴蓄足够,技能把控手段要强

4.迁徙的本质是找到最得当的营业场景,而不是为了技能实现而实现

对付第4点,举个例子,Oracle从机能上是毫无疑问的,可是假若有海量的读哀求,着实就不得当Oracle来扛了,虽然也不适实用MySQL,也许Redis的方案会更好一些。

题目2:为什么要迁徙到MySQL

要答复这个题目,着实我们的主线就是MySQL可以做什么。

第一照旧本钱,开源免费,利便定制,MySQL的可选方案可绝对不但有社区版,尚有一系列的分支,好比Percona分支,MariaDB分支,存储引擎InnoDB,MyRocks等完好都是免费可选。

第二是MySQL服从高,足够轻量级。MySQL的服从从行使上来说,进修周期会很短,轻易上手,并且对付体系的资源要求不高。

第三是程度扩展手段,把Oracle比作地铁,MySQL比作公交车会更轻易领略,我们可以很轻松的加开公交专线,可是加开地铁线路那就完全差异了。我认为这是迁徙到MySQL的一个焦点点,这也就是为什么许多互联网的MySQL局限动辄几百几千了,发作式增添的营业,MySQL扩展手段了不是表此刻MySQL数据库自己,而是对付架构的扩展性上,而这也就是为什么许多MySQL DBA较量贵的一个缘故起因。

第四是复制,这是MySQL对比Oracle的一个亮点,假如必要做跨数据中心的复制,应承存在必然的耽误,行使MySQL原生的复制方案是一件很轻易的工作,MySQL支持许多差异维度的复制方案。

第五是营业轻依靠,这个可以分为两个维度来说。一个是成果限定,一个是机能限定。这自己是MySQL成果和机能上的缺失,可是反而是一个利益由于要支撑漫衍式需求,必要营业对数据库的依靠要更轻便一些,本来支持欠好的存储进程就可以很天然的弱化了。

第六是开源带来的生态系统,开源盈利带给企业的是许多的技能方案选择,让本来必要费钱买的工作酿成了我们干我们用。

题目3:从Oracle迁徙到MySQL必要思量的工作

起首是架构的差别,在oracle和MySQL内里的差别照旧较量大的,虽然Oracle内里也是可以行使同义词的架构来实现相同MySQL的会见模子的。

数据范例的差别着实是较量详细的技能细节,我举一些增补的。

oracle内里的Null和空串都可以凭证null来处理赏罚,可是MySQL里两者是差异的。

oracle表名,用户名都是有长度限定,在30个字符以内,在MySQL里长度要大得多,尤其是表名就必要留意了。

oracle里会默认同一凭证大写来处理赏罚,MySQL内里默认是巨细写敏感的。

对付MySQL范例在MySQL里必要思量的细节较多,好比数值型,,oracle内里number搞定,MySQL有一系列的数值范例可以选择,不提议大一统的big int适配全部需求。

要更清楚的答复留意事项,可以归类为一个题目:MySQL对比Oracle少了些什么?

机能上必定有差别,我们首要理一理成果上的。较量的原则不是说oracle有必然要MySQL有,而是从一些行使场景上来说更好的行使特征。

  1. 存储进程支持有限,这是许多企业的技能债,处理赏罚好了是坦途,处理赏罚欠好是大坑。好比存储进程,硬要用存储进程挪用来对接,后期后患无限。
  2. 没有同义词
  3. 没有db link,这个特征MySQL里不支持着实是件功德,杜绝了那种跨库关联的需求。
  4. 没有sequence,这个MySQL的自增列完全可以补充。
  5. 没有物化视图,难以实现增量革新的需求。
  6. 分区表有,可是很罕用
  7. 优化器单薄,多表关联,Hash Join在MySQL里照旧一个弱项。
  8. 索引的差别,包围索引的实现两者差别也很大。
  9. 绑定变量的机能差别不大,Oracle内里敏感的绑定变量题目在MySQL里不是题目。
  10. 机能器材,MySQL内里的机能器材照旧较量少的,并且粒度和结果有限。

小结一下:

迁徙的本质是找到最得当的营业场景,而不是为了技能实现而实现。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读