技术开发 频道

杨廷琨谈环境变化:优秀DBA会抬头看路

  【IT168 专稿】随着科技飞速发展,软硬件技术更新换代,数据库领域也在不断发生着变化,传统数据库与新技术的结合、数据库的云化等等。改变是为了更好的生存发展,数据库领域,Oracle虽仍处于霸主之位不可撼动,但其学习门槛相较之前已经降低许多,且产品本身也发生了很大变化。

  本期,云和恩墨首席技术官杨廷琨为大家解读了近年来Oracle在技术层面和环境的变化,以及如何才能成为一名优秀的DBA。杨廷琨在云和恩墨负责Oracle相关技术的研究和二线技术支持,他见证了Oracle的版本从8一直发展到12,这些年一直在社区和网络上分享Oracle的技术,也因此成为Oracle ACE Director。

杨廷琨:时代在进步 做技术也要抬头看路

  时代前进,Oracle的改变

  大环境在改变,时代前进,硬件和技术不断更新,虽然传统数据库的主要功能还是事物性,但并不意味着它会故步自封。传统数据库发展过程中,也在不断引进一些新的硬件、技术甚至是新架构。在采访中,杨廷琨从两方面分析了Oracle的变化。

  从市场环境来看,随着大数据、云计算的热度不断上升,传统数据库也根据新需求做出了调整:

  • 随着闪存的发展,Oracle 11g增加FLASHCACHE功能使得数据库可以透明的利用闪存实现数据的二级缓存。

  • 随着列式数据库和内存计算的火热,Oracle 12c引入了IN MEMORY选件,将内存计算和列式存储等功能透明的加入到数据库中。

  • 针对互联网技术兴起,分库分表的SHARDING架构成为互联网标准架构,Oracle在12.2中也开始支持Sharding架构。

  从Oracle数据库本身来看,调优方面,Oracle在12c中引入了自适应执行计划,其可以根据每一步操作返回的数据量,智能的判断后续执行计划是否合理。如果发现返回行数与预估的行数有较大差距,Oracle会根据实际的结果动态的调整非常好的的执行计划。理论上,自适应执行计划可以解决很大一部分的执行计划选择错误的问题,因为Oracle可以根据实际数据返回情况,而不仅仅是统计信息的结果来评估执行计划。

  当然,任何的新功能出来一定伴随着不稳定性和大量BUG,因此,需要技术人员不断研究、测试、验证自适应执行计划能解决哪些问题,会带来哪些负面影响,以及一些已经发现的Bug对于程序稳定运行的影响度有多大。根据这些分析的结论,最终建议客户是否使用或何时开始使用这个功能。

  杨廷琨表示:“从功能、易用性、可管理性等方面,Oracle的新版本要比之前有了很大的改变,但是Oracle的最核心部分其实这些年并没有太多的改变,很多改进和新技术都是在外面做些文章。”

  Oracle学习门槛虽降低,欲做高级DBA还需抬头看路!

  在谈到Oracle的学习时,杨廷琨感叹道:“现在Oracle入门门槛已经变低了,我记得以前安装Linux上的8i数据库,网上可供参考的文章少的可怜,而且bug一堆。解决方法居然要修改MAKEFILE里面的内容,需要添加或修改make的选项和宏,所以,当前版本的安装与之相比就简化太多了。

  例如创建一个表时,在数据字典管理的表空间中要考虑的表存储参数非常多,PCTREEE, PCTUSED, INITRANS,MAXTRANS, INITIAL,NEXT, MINEXTENTS, MAXEXTENTS, PCTINCREASE, BUFFER_POOL,所有这些参数都要仔细规划。随着Oracle越来越智能,本地管理表空间,ASSM的出现,绝大部分情况不需要在对表的存储参数进行额外修改,默认值的设置就能够满足绝大部分要求。这样的例子比比皆是,显然Oracle入门的门槛确实变低了。”

  但是,门槛变低却并不意味着成长为高级DBA的难度下降。杨廷琨举了这样一个例子:“事实上,Oracle每个版本都会引入大量自动化功能。以最广为人知的内存管理为例,9i Oracle推出了自动PGA管理,10g推出了自动SGA管理,11g推出了自动内存管理。但是在客户的关键应用上,我们并不建议客户使用11g的新特性自动内存管理,甚至在一些非常繁忙的OLTP数据库中,为了避免Oracle在SGA各个组件之间自动调整内存,我们会建议客户仍然手工配置各个内存组件的大小。”

  一个高水平的DBA不但要了解Oracle推出的新特性的功能,还要了解这个新特性的限制条件以及可能导致的问题,如果出现问题,还要能对这个特性产生的问题进行深入分析和诊断。所以,从这个角度来看,DBA要掌握的知识越来越多了。

  那么,要成为一个优秀的DBA,如何充实自己呢?杨廷琨强调:“谈论Oracle技术学习的文章非常多,方法真的不是最重要的,持之以恒不间断的学习才是成功的关键。而除了潜心研究外,多关注新的技术发展和趋势十分关键。低头做事,抬头看路,了解最新的技术发展和行业的趋势可以避免走弯路,对于更好的理解技术的演进很有帮助。”

  杨廷琨表示,他从阅读Oracle官方文档起步,先看Concept,再看Administrator,然后是Backup、Performance Tunning、RAC、Data Guard、Upgrade、Utilities、Network等等。他还列举了业内几个大咖的学习经验,希望能对正在路上努力前进的DBA们有所帮助:

  • 盖国强多次提过他的学习方法是由点及面,抓住每个技术点,不断的深入下去,最终把整个体系的脉络理清楚。

  • 崔华的学习方法是通读Metalink文档,他在演讲的时候介绍他每天要看几个小时的Metalink文档,每天都会经历多次的页面超时。

  • 张乐奕更喜欢关注国外优异专家的BLOG和Mail List,这样可以快速的获取到业内专家的最新研究成果。

  另外,在杨廷琨看来,研究技术没有太多的窍门可言,他分享了对自身十分有帮助的几个窍门:“如果对Oracle技术有了一定了解后,应该自己多做一些总结性的工作,包括做做测试,写写BLOG。这样可以把Oracle技术的发展梳理出来,了解了一个技术的前世今生,再去看它之后的改变和发展,就会得心应手很多了。”

  最后,杨廷琨表示,技术人员大部分都喜欢埋头研究技术,而技术大会正是给技术人员一个抬头开路的机会。所以,他期望能够通过即将举办的DTCC 2016数据库技术大会,了解更多业内最新的动态和的技术应用场景,结识圈内更多的技术专家。如果有小伙伴对Oracle方面的更多内容感兴趣,同样也可以关注 DTCC 2016中国数据库技术大会,届时杨廷琨也将出席大会演讲。

杨廷琨:时代在进步 做技术也要抬头看路

  2016第七届中国数据库技术大会(DTCC)将于2016年5月12日-14日召开,大会云集了国内外顶尖专家,共同探讨MySQL、智能数据平台、数据治理、大数据创业、大数据深度学习等领域的前瞻性热点话题与技术,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。欲了解更多有关大会的精彩内容请访问DTCC 2016官网:http://dtcc.it168.com/

1
相关文章