ITPUB名人堂:oracle技术分享达人李丙洋(ID: junsansi)带你涂抹Oracle

2021-12-13 00:00:00 数据库 执行 互联网 系统 设计

本期我们邀请采访的是oracle技术分享达人李丙洋,ITPUB数据库开发版版主,ID:junsansi,现任职于互动百科公司系统架构师,负责系统后端设计与优化。曾长期从事ORACLE/MySQL数据库系统架构设计及运维支持,实践经验丰富;对于系统架构设计及高可用环境规划有深入理解,熟悉SQL开发和调优,专注于数据库特性的有效运用,著有《涂抹ORACLE》一书。相信通过这次对三思同学的采访,可以帮助大家了解三思同学,同时帮助大家了解数据库方面的一些问题。

arron刘:
社区的会员一听说要采访您,反映很是强烈啊。您的三思笔记在我们社区的的贡献大家也是有目共睹的,您能不能简单的给我们介绍一下您的工作经历?
Junsansi:
首先要感谢大家对我的长期关注和支持,我很是惶恐。我在一些场合表达过这类观点,做为一个纯正屌丝,没有官/富/红二/三/四代的显赫出身或鼎盛家业,一切都要靠自己努力争取。从业这么多年来,因为持续不断地写了很多文章,也出版过一本个人专著,同时也在积极参与社区技术话题,积累下一些人气,收到过很多好心人的鼓励,和一些善意的褒奖,其实我自己知道,我的经验并不丰富,我的水平也并不能称得上,人生苦短,时间紧迫,我还需要继续加紧学习。

前些年我在ORACLE方向投入了大量精力,但熟悉我的朋友们都知道,这几年我的涉猎范围已经大大扩宽,DB层的ORACLE/MySQL/TC+TT/MEMCACHED/REDIS/MONGODB,WebServer层的APACHE/RESIN/TOMCAT/NGINX,应用层的LVS/HAPROXY都在应用,身处发展迅猛的互联网企业,各项新的技术都会有机会接触,对于缓存化/虚拟化/分布式/高可用/负载均衡这样的整体规划也在参与实施和推进。

在专业DBA看来,我这肯定是不务正业了,不过万幸我这几年"折腾"没有白费气力,终归有所收获,直观的感觉就是眼界大开,在具体处理问题时的思路也不同了,目前DB层在我看来,只是实现业务的一个纬度。这种思维的转变带来的大收获,从执行的角度来看,就是实施方法上更加灵活,执行手段上更加丰富,就像经验丰富且又技艺精湛的数据库工程师,不会只把创建索引,或者调整系统参数做为优化的手段一样。手段越多,执行时往往就感觉更加得心就手。呵呵,不过要说负面影响的话,就是对ORACLE数据库的技能掌握有明显退化,以我目前的功力,更加称不上是名ORACLE高手了。


arron刘:
有的网友提问:从oracle转到mysql,oracle中的慢查询sql如何分析如何得出呢?sql中有slow日志。oracle中有没有呢?怎么得到啊?
Junsansi:
每一种软件都有它的特点和优势,不要试图去寻找两款功能上几乎一模一样的软件,那其中一款不就注定没有意义了吗。诸如ORACLE/MYSQL这类久经市场考验的产品,其开发/设计人员都不是傻子,而且就我看来,他们的智商应该要比DBA从业人员的平均智商还高才对,那么它们的产品设计出某种功能或特性,一定有其逻辑。

具体到Oralce和MySQL两款数据库产品,MySQL拥有slowlog,Oracle也一定要拥有吗,没有slowlog的Oracle就比MySQL要差吗,当然不是这样的。MySQL中的所谓slowlog,是指执行时间超过指定阀值的SQL语句,这种语句在MySQL中称之为"慢",那么我明确的回答这个问题,到Oracle中一定找不到这个对应的功能,为什么会这样设计,我按照我的理解来揣测,不一定对(也可能是:一定不对),您就姑且一听吧。

ORACLE数据库是设计用来承担海量数据处理的,从数据量对比来看,管理TB级数据(不仅仅是存储,而是使用)对于ORACLE数据库,是件很普遍的事件,但是对于MySQL来说,存储TB级数据,没有问题,你让它管理?目前来看,哪款存储引擎能够承担此项重任呢?从这点就可以看出,两者没在一个数量级,那么MySQL中的所谓"慢",拿到Oracle中能叫"慢"吗,没有办法这么对比是吧。你说我查询一个T的数量,执行多少秒有返回才算是慢?这个定义本身就不严谨,所以ORACLE数据库是将所有执行的语句都视为"正常"执行,但是它会收集语句执行的开销,提供了特性生成相应的报表(专用特性如AWR/STATSPACK,熟悉ORACLE的话直接查询若干v$views亦可),将选择权交给用户,由用户来判断哪些语句不对。


arron刘:
如何看到oracle与mysql在移动互联网里面的应用呢?
Junsansi:
ORACLE数据库的强大功能和性能是任谁也不能否认的,但是相对开源产品,ORACLE数据库自身的高昂售价和环境部署、维护成本之高昂也是任谁也不能否认的。MySQL这类开源软件在成本上就比较占优了,维护也很简单,当然它这个简单因为它自身几乎没有什么特性,所以MySQL DBA不能像Oracle那样分成开发或管理也在于此。

按理说成本这一项就足以秒杀移动互联网里的各路新兴企业了,不要说移动互联网领域,就是目前已发展壮大的互联网领域的巨头,有几个接受的了这个成本,前阵子阿里系统轰轰烈烈的去OIE其实也说明一些问题了。

更何况,传统的RDBMS应对互联网及移动互联网中,新态势下的新业务需求并不擅长,这个不要说MySQL,ORACLE也搞不定,这一点与前面的问题有所关联。每一款产品都有它的特点,和它的佳适用场景,对于用户,或者说一线的开发/设计/维护人员来说,首先要做的是将其用在佳应用场景,其次才是大化挖掘其能力。


arron刘:
现在学习oracle数据库的新手很多,在和他们交流中发现有很多初学者朋友在学习方法上有很多困惑。例如:怎么学好sql啊,从何学起呢,应该看哪些书啊等问题。您在这里给我们介绍一下,谈谈您学习oracle的一些体会,和看法。
Junsansi:
我将之分为两类,类是真心希望从事DBA这个职业,愿意投入大量时间/精力/金钱去学习,只是由于之前未曾接触,不知从何入手,对于这些朋友,其实已经有很多大师写过文章专门阐述,都写的很好,ORACLE管理版也有若干的帖子讨论,其中一些已被加为精华,大家可以参考。我之前也写过一篇文章:我想对初学ORACLE的朋友说,附链接如下:
http://www.itpub.net/forum.php?mod=viewthread&tid=976678
希望能对这部分朋友有所借鉴。

第二类是眼瞅DBA行情火热,懵懂闯入,只想收获,不愿投入过多精力,恨不能网上找几篇文章,搜到几个tips就赶紧挣那二三十万去。说白了他们属于过客,对于这些朋友,我感觉没有办法,过个三年五年来看,他们还在问如何学好,从何学习~~~


arron刘:
您的《涂抹Oracle—三思笔记之一步一步学Oracle》在我们社区可以有很多的粉丝,能问问您当时是什么想法促使您写书的呢?同时社区的一些会员还想知道能不能写一本关于ORACLE RAC的书本呢?
Junsansi:
我之前写过很多个人的学习笔记,因为记录的时候比较完整,成系列,加上我确实喜欢ORACLE DBA这个行业,写的时候饱含着深情,相对其他人的文章阅读时体验更加流畅,所以这些笔记就得以在圈子里也被广为流传,那么之后就是由水利水电出版社的周春元老师促成,写作了《涂抹Oracle—三思笔记之一步一步学Oracle》一书,书中即汇集有之前的一小部分笔记,也新补充了很多内容,写作的时候以数据操作为主线,以实际工作需要为纲目,注意实战,希望能够降低初学者快速上手ORACLE数据库的门槛。出版之后,反馈很不错,我感觉也很欣慰,这还是要感谢大家的支持。

我知道有些人在倡导一线的工程师多做经验分享,以此缘由为写作目地,不过我的出发点其实跟他们是不同的。我的想法,是要给自己一个交待。
信息技术发展的这样快,不像过去,等到作者身化黄土,留下的东西还在传承,实际上你扭头回望五年前/十年前所谓的新潮技术,今天看都已经普及甚至过时的都毫不稀罕。
因此我就在想,我这些年积累下的东西不要说被淘汰,几个月不用我自己都可能会忘记,因此闲暇的时候把它记录下来,有机会的话出版成册,这是给我自己的交待。我几乎跟每一个跟我聊过此话题的朋友都建议过,有空闲的话就写些东西吧,不为别人,是为自己。

我后面会先着力写MySQL和系统架构设计方面的书(2-3本)。Oracle方面会不会再出新的著作,应该会的,不过今年内肯定是看不到的。这两年深刻感受到了时间的宝贵,看到很多有价值的事情可以做,但是没有充足的时间去实现,希望大家也能珍惜时间,尊重自己。


arron刘:
我们知道Oracle目前市场上运行的版本很多,您能不能给我们简单的分析一下各个版本之间的异同?未来绝大数的运用都会转移到云平台上,您认为Oracle以后的市场定位是怎么样的?
Junsansi:
目前市场上运行的版本很多吗?我接触的平台有限,对此是没有发言权的,就我的经历所接触的环境来看,目前10gR2是主流,9i只有零星数台了,11g当然也有,不过也在零星状态。ORACLE的版本提升对功能/性能当然都会有进步,可是现状是,新的东西再好,只要目前能够满足需要,因为一般运维线的兄弟下意识都是求稳定,一般情况下也不会去动它,所以一套DB环境上线之后,只要不遇重大情况,是能够支撑很长时间的,在此期间ORACLE出个版本升级并不稀奇,但是那也不会有什么影响。不过对于DBA岗的从业人员,实时关注新版本新特性新技术新趋势还是很有必要的,要跟上潮流,做好储备嘛。

至于ORACLE未来的市场,太长远的我看不清,做个断言吧,五年以内这个行业没有问题。但是,现在才加入这个行当的从业人员,与早投入这个行业的那些先行前辈们相比,他们目前取得的声誉/地位/收入,后进者应该无法企及了。一家之言,仅供参考。


arron刘:
谢谢三思同学百忙之中抽出功夫给我们带来这么精彩的采访,同时我也期待着三思同学的新书,相信一定可以给我们带来惊喜。
嘉宾介绍:

李丙洋 ID:junsansi
ITPUB数据库开发版版主,ID:junsansi,现任职于互动百科公司系统架构师,负责系统后端设计与优化。曾长期从事ORACLE/MySQL数据库系统架构设计及运维支持,实践经验丰富;对于系统架构设计及高可用环境规划有深入理解,熟悉SQL开发和调优,专注于数据库特性的有效运用,著有《涂抹ORACLE》一书。


相关文章