学到老才能活到老:大数据时代的DBA何去何从?

2021-11-11 00:00:00 数据 数据库 自己的 技术 内存

各位网友大家好,欢迎做客本期的名人堂访谈,我是主持人皮皮。DBA相对来说是一份高薪职位,也是一个“越老越值钱”的职位,只是有多少人愿意坚守十年?又有多少人知道DBA背后的辛酸与喜悦?在大数据与云计算的时代里,随着数据量的增长,各种结构化与非结构化数据在不断蔓延,数据库性能瓶颈与安全问题成为了DBA所面临的重大挑战,DBA又该何去何从?本期名人堂我们邀请到了ITPUB数据库开发板块的版主怀晓明(社区ID:lastwinner)为我们揭晓答案,他拥有丰富的系统架构设计经验,擅长数据库和Web的设计、开发,精于故障诊断与处理。


pipihappy8888(Q1):人的一生,总该有一种坚持。成大事不在于力量的大小,而在于能坚持多久。您在ITPUB上有十多年了,贵在坚持,很多网友在疑难技术上都曾受惠于您的点拨。作为一名前辈,我们非常感谢与钦佩您的坚持。很多人都感叹时间去哪儿了,您是如何平衡好论坛与工作时间的?能否和我们分享下您在论坛的收获与乐趣。


lastwinner( A1):在2013年期《名人堂》,ITPUB对我进行了采访,时隔十七个月,感谢ITPUB对我再度进行采访,谢谢ITPUB,谢谢小皮,谢谢大家!无论何时,工作总是优先于论坛的,道理很简单,没工作就没收入,交不起网费就上不了论坛,所以一定要先做好工作,然后才是抽出时间来论坛。时间就像海绵,挤挤总会有的,在相伴ITPUB论坛这么长的时间里,我也成长了很多。这里见证了我的进步,我的青春和奋斗的梦想。



对很多ITPUBer来讲,大家可能都会感同身受,逛ITPUB论坛逛不像逛商场那样单纯的走马观花,它更像是一个古董店,里面有千奇百怪的瑰宝,需要您用心虔诚地去品味。尤其是ITPUB的技术版块,经常逛的朋友可能会发现,里面大部分帖子都是很有价值的,有的帖子提出的问题很常见,一旦解决了,可以帮助不少人。还有的帖子是一些达人专家的分享,特别是奋战在一线的开发者与DBA们,他们乐于分享实战中遇到的一些技术问题,以及经过测试验证的解决方案。有句话说得好,这个世界不缺少美丽的风景,只缺少发现美的眼睛。只有当您静下心来细细品味时,方能吸收其中的知识,为己所用。



匆匆走过岁月,留下流沙般的纪念。记得在去年年初的访谈中,我曾说过“学到老,才能活到老”。技术总是在不断进步的,只有积极主动掌握新知识,你才能不断进步。而论坛就是一个不断汲取新知识的好地方,坚持来逛,定有收获! 在论坛里,结交志同道合的朋友,学习新知识,彼此交流自己的心得体会,这是我认为大的收获。



pipihappy8888(Q2):咱们ITPUB圈内的人喜欢叫你野花,也许和您的个性签名有关吧,——“路边野花不要,踩!”,是否有故事中的故事?您出过书,事业上也有所成就,您未来还憧憬哪些梦想?


lastwinner( A2):呵呵,这是早先搞怪时随手写的玩笑话,后来就被人叫熟了,我呢,也一直懒得改签名,再后来就成了现在这个样子,我也无所谓。


这些年来,技术推动社会快速进步、咱们老百姓也从中得益,比如足不出门也可以在网上购物,上网就可以看电视看电影,技术改变了我们的生活,让世界变得更智能。



不少年轻人通过学习IT技术,找到了工作,并通过自己的努力奋斗,立足社会,实现梦想。同样的青春,他们却有着不一样的精彩。作为一名技术人员,我感同身受,我特别希望技术,当然不仅仅是IT技术,可以在中国有更好的发展前景,真正的成为一个技术人一生所从事的事业。希望大家能够持之以恒,为自己的梦想而奋斗。




pipihappy8888(Q3):您在Oracle开发版块坐镇版主,与很多网友保持互动,能否总结下您的心得体会?很多网友会提到一些具体问题,如SQL 查询语句与性能优化,您能否借此机会分享下您在实际工作中遇到的SQL 优化案例,给大家总结一些宝贵意见?

lastwinner( A3):逛论坛基本是三个阶段:首先是提出问题的阶段,带着问题来论坛找答案,正所谓师傅领进门,修行在个人。自己从别人的帮助中得到解惑,学到新知识;其次是帮助别人解决问题的阶段,数据库的世界中还是有很多千奇百怪的未知,很多问题可能是自己所触及不到的,通过一起探讨可以拓宽你的视野,一旦问题的疑团解开了,会有柳暗花明的快感,你的“经验值”也会随之增加。后是一个梳理总结的阶段,这会是一个点石成金的过程,根据自己逛论坛多年所掌握的知识,整理一个或几个知识点,发帖与大家分享。


罗马不是一天建成的,需要长期的积累,我正是通过这三阶段的不断积累,平时乐于为版友解答难题,我才成长为Oracle开发版的版主的。我希望各位有志于技术工作的同仁及后生,都可以通过论坛,实现自己的技术积累与突破,助力自己的工作。



说到SQL调优,我们现在很多人看到一条SQL运行慢的时候,时间会想到去看执行计划,看是否有调优空间。这种习惯性的思路,到后来就慢慢演变为一种思维定势,如果执行计划没问题,那这SQL就没有可调的空间了。实际上这是很不正常的现象。



就SQL的优化而言,除了执行计划外,算法优化也是重要的,如何书写SQL才能达到优算法?这里就是一个典型的与索引无关而与算法有关的例子,希望能给大家一点启示:

http://www.itpub.net/thread-1834035-1-1.html 。



pipihappy8888(Q4):在大数据的冲击下,内存技术就如同一部神曲,开始了密集轰炸。它不再止步于华尔街交易系统等小众应用领域,摇身一变成为了目前主流的数据库技术。各大厂商都纷纷使出了杀手锏,Oracle12c引入了内存数据库,就连IBM新推出的DB2 也在内存技术上下足了功夫,微软的SQL Server 2014更是在内存数据库技术方面发崭露头角.这是否意味着关系型数据库融合内存技术将会成为未来厂商致胜的利器?


lastwinner( A4):内存运算快是众所周知的事实,但内存的成本实在太高,所以我们以往都是将大部分数据放在磁盘而不是内存上,需要的时候再从磁盘上读取数据放入内存中参与计算。在需要处理大量数据的运算时,就会出现磁盘内的数据要不断装载到内存中进行计算,完后将计算结果进行保存,再装载下一批磁盘上的数据……后将计算结果汇总处理后,得出终结果。


但是随着内存成本的不断降低,内存数据库也就不再仅仅是交易所这样的企业才用得起的产品了。大多数有一定资本实力的企业,如果确实需要用到内存数据库,那他们是用得起的。内存数据库可以将所需的数据都放在内存中,所有的数据访问控制都在内存中进行,这样处理速度自然大大提高了。


生产工具是社会生产力水平的衡量标志之一,内存数据库就是一个更先进的生产工具。生产力提高了,单位时间可以创造出更大的价值,而且,以往可能由于计算能力限制无法做到的一些业务需求,现在通过内存数据库技术,也能实现。这自然会逐渐受到用户的青睐。


于各大厂商而言,不能说谁的数据库产品加上了内存数据库相关技术就一定能取得商业上的成功,竞争如此激烈,鹿死谁手我们还得拭目以待。但可以肯定的是,如果产品不加上内存数据库功能,那它在高端数据库产品领域一定是会被慢慢边缘化,乃至终被淘汰的。



pipihappy8888(Q5):是否应该选择RAC?有发言权的应该是DBA自己了。RAC是否是包治百病的“万金油”,还会有比RAC更好的解决方案么?同作为Oracle的高可用性方案,为什么Data Guard是中小企业钟爱的HA方案?而对于银行、证券、电信等企业,RAC和Data Guard的组合会备受青睐?请结合Data Guard与RAC的优缺点谈谈您的理解。

lastwinner( A5):有时候,面临技术方案选择,不仅仅是技术问题,更多的是一种平衡的艺术。谈到Oracle的高可用家族,除了RAC以外还有两个兄弟:Data Guard与Stream Replication。这三兄弟每个既能独挡一面,也能相互配合发挥更强大的功能,是目前企业常用的HA方案。

Data Guard和RAC虽然都是Oracle的HA方案,但是两者针对的问题不同。RAC的优势是解决单点故障,并且能够提高性能,而Data Guard更侧重于异地容灾,虽然Logic Standby能够在一定程度上分担性能压力,但是决不能把Data Guard当做性能优化方案的使用。Data Guard的实施成本、维护成本都低于RAC,所以Data Guard是中小企业钟爱的HA方案。而在银行、证券、电信等要求苛刻的企业,RAC+Data Guard组合由于能提供有力的数据保护而备受青睐。


大家耳熟能详的“没有好,只有合适”,有多少人真正理解了这句话?作为一名DBA,更应该熟知RAC、DG的各种方案,在指定的场景下,选择合适的方案。起码,你选择的方案,你要能hold得住。


关于这些方案的选择,网上已经有诸多的成功案例,我就不再赘述。如果你真正理解了这些方案,我相信你是可以做出合适的选择的。另外,说到“”,其实世上并不存在“”的东西,每一个声称“”的东西,其实都有一个“万万不能”——那就是,这玩意儿“万万不能”相信!



pipihappy8888(Q6):您说过,“活到老就要学到老,学到老才能活到老"。人生遗憾的,莫过于轻易地放弃了不该放弃的,固执地坚持了不该坚持的,方向显得更重要。大数据与云计算时代下,数据库性能和安全性问题成为了DBA面临的新挑战,DBA该何去何从?您是否看好DBA的未来发展前景?对于咋咱们的Puber同仁们,您能否以过来人的经历分享些经验。


lastwinner( A6):性能问题和安全问题其实是一直就存在的,不过在大数据与云计算的时代里,这些问题越发突出。以数据驱动决策的时代里,数据就是企业的生命,因此越来越多的企业开始关注与重视数据。在这样的环境下,能管好数据的DBA自然会身价不菲。然而,这同样也意味着DBA们会面临比以往更多样化的困难与挑战,面对困难,当然是迎头而上。随着数据库越来越智能化,大量以前手工维护的工作现在都可以通过一系列自动工具来完成,这从客观上给新时代的DBA们节约出了时间,使我们可以有时间学习新知识新技能,更加专注于解决所面临的困难。


只有这样,才能临危不惧、处乱不惊。“树挪死,人挪活”,现实社会是非常残酷的,要是一直守着自己的那一亩三分地的技术,不积极主动学习新知识,啥时候被淘汰仅仅是时间问题。


但是你也不要害怕,有ITPUB在呢,还怕错过啥新的数据库技术么?没事,就多来遛达遛达吧

相关文章