共计 4844 个字符,预计需要花费 13 分钟才能阅读完成。
引言
「DBA 100 人」专访打算是 OceanBase 围绕资深 DBA(数据库管理员:Database Administrator)进行的人物专访流动,旨在通过人物故事、职业倒退经验以及日常工作中遇到的技术难题和实际案例,将来对技术趋势的想法,心愿他们的成长之道可能给到各行业 DBA 一些倡议和思考。
《DBA 100 人》第 5 期带你理解南京基石数据技术有限责任公司 CTO,资深 Oracle 数据库优化专家徐戟(白鳝)——他曾供职于 DEC、赛格团体、长天团体、联想集团等国内外知名企业,主持开发了国内第一套联机实时计费零碎,国内第一套三检合一的测验检疫综合业务零碎。2000 年当前致力于 Oracle 数据库性能优化等方面的钻研,参加了大量性能优化我的项目,著有《Oracle RAC 日记》、《Oracle DBA 优化日记》和《DBA 的思维天空》等技术专著。
作为一名在 DBA 圈子里颇有名气的技术专家,徐戟始终沉闷在业内,负责过泛滥数据库和 IT 运维流动的演讲嘉宾,领有不少的粉丝。徐戟的著述至今依然是很多 DBA 的案头读物,不少 DBA 正是从这些书籍中找到了解决问题的答案。只管在数据库畛域如此闻名,但他其实算是科班出身,是怎么的机缘巧合,让他逐渐成为一名数据库专家的?
2015 年的一天,徐戟忽然接到了一个来自国家电网的紧急求助电话。原来,国家电网受到了 Oracle 数据库 SCN HEADROOM 风暴的袭击,间隔 SCN 天花板只有不到 10 天,如果在此之前找不到源头,风暴暴发时国家电网大部分 Oracle 数据库可能宕机,届时会波及到国家电网下辖的 20 多个省市的营销、生产治理等外围零碎,这将造成不可估量的损失。
紧急号召
SCN (System Change Number)是 Oracle 外部应用的逻辑时钟,用于辨别事务操作的先后秩序以及确保事务操作的一致性,由一串 48 位单向序列数字组成。为了确保这个 48 位的 SCN 可能用足够长时间,Oracle 对 SCN 序列做出一个限度,即每秒钟 SCN 最大增长不能超过 16K。失常状况这个增量齐全能满足需要,然而过后 Oracle 有 Bug,在某些状况下会被触发,导致 SCN 在短时间内大幅增长,很快就会迫近下限。而一旦达到了下限,会造成数据库保护性宕机。
Oracle 这个 Bug 曾经存在几年了,Oracle 也推出了相应的补丁。不过,只有数据库有一个没打补丁,与其余数据库通过 DBLink 连贯时就会引发 SCN 同步。国家电网过后面临的就是这个场面,国家电网的大多数 Oracle 数据库都打了补丁,SCN HEADROOM 还是在一直异样缩小,阐明有个别数据库没有打补丁,当初迫切需要在 SCN 达到下限之前找到这个没有打补丁的数据库,予以下线或者立刻打补丁解决问题。
这就是徐戟过后面临的辣手状况。国家电网专门为临危授命的徐戟提供了一个视频指挥核心,并受权他来全权调度和指挥国电上司的那些数据单位。对徐戟而言,压力显而易见,工夫紧,而且这件事件太重要,不容有失。
“国家电网业务遍布全国 27 个省,有 30 多个数据单位,装置了数几千套 Oracle 数据库。在一个简单的网络环境下相互传染,到底谁是源头,谁是被传染的,必须在几天之内把它定位进去,否则的话就可能要出大的经营事变了。”徐戟说。
好在徐戟之前在运营商处理过相似的状况。接到工作后,徐戟抓紧时间安顿人写好脚本,而后散发上来,让脚本在国家电网的各个系统上跑起来。几个小时后数据报上来。徐戟找了几十个人连夜解决数据,大概 24 小时后后果进去了,最初定位到东南的某个零碎,是另外一个单位部署在国家电网的数据库。因为不属于国家电网所有,没有打补丁,引发了这次 SCN 危机。
2 天多的工夫,徐戟没有来到指挥核心,困了就在大厅里眯一会。能够设想,当精确定位到问题的那一刻,站在指挥核心的大屏前的徐戟想必是无比骄傲的,作为一个技术人员能有这样的机会和能力来回报社会、回报国家,那种成就感是对他的付出和辛苦最好的回报,足以让他记忆一辈子。
转向数据库,一战成名
尽管明天的徐戟是一名不折不扣的数据库专家,但他并非一开始就专门钻研数据库。数据库是他起初才锁定的畛域。实际上,在 2000 年以前和 2000 年之后最后的几年,徐戟在软件畛域要比数据库有名。
徐戟 1992 年毕业于南京大学计算机专业。当年计算机还是稀罕物,只有大公司才有计算机,而且都得放在专门的计算机机房,计算机人才十分贵重。徐戟属于不太安分的人,几次进公司待业,而后又进去守业。尽管很多时候徐戟的工作会与数据库打交道,也会波及一些数据库的优化和运维,但最多只能算是兼职 DBA。大多数时候徐戟的次要工作是软件开发,以及进行系统优化,在业界颇为有名。
到 2006 年,徐戟所在公司成为了 Oracle 在中国的外包服务商,从此和 Oracle 数据库打交道的时候越来越多,徐戟的工作重心逐步转向了数据库,并很快成为一名专家,在业内领有了很高的知名度。到 2011 年,国家电网有一批几年前上的我的项目因为运维没有跟上,陆续呈现性能问题,在全国范畴找人优化,徐戟因为在业内领有很高的名气而被国家电网选中了。
“过后国家电网负责这项工作的一个领导筹备和我见面。他工作很忙,我专门从深圳飞过来见他。我等到他了一上午,他切实抽不出工夫,就决定中午边吃饭边聊。吃饭的时候,我介绍我的计划,这位领导十分感兴趣,间接把本人前面的日程安排勾销了,咱们始终谈到了下午 2 点。”徐戟说。
这件事一方面阐明了国家电网对这件事件的器重,同时也阐明徐戟的计划可行。回深圳不久,徐戟就接到国家电网的告诉,这个我的项目要真正做了。这个我的项目起初实现的成果十分好,整个零碎的性能晋升了 10 倍以上。我的项目波及到的工作也很多,不只是数据库的优化,而是软硬件环境包含利用零碎的整体优化,甚至波及到应用软件外围算法的改良。
这个我的项目让徐戟在国家电网零碎一战成名,起初他陆续参加了很多国家电网的我的项目。而在服务国家电网的过程中,徐戟的名气越来越大,有很多相似的我的项目找来了。徐戟记得有一个我的项目上线才两年,可是零碎越来越慢,公司筹备投入 3500 万进行零碎扩容。据说了徐戟的能力,找到他看看他能不能想想方法,切实不行也少投点钱。接到工作,徐戟带着团队干了一个多月工夫,而后回复领导保证系统再用 5 年不须要扩容。
“其实,这个 3500 万的我的项目咱们做的工作并不算简单,次要是碎片的整顿、虚构卷的设置和表分区的调整等,都是比拟惯例的操作,本来打算还要做 SQL 的优化等,因为后期这些工作成果非常明显,这些就没做了。”徐戟说。
随着一个个我的项目的胜利,徐戟在国家电网零碎也成为一个名人,一位领导甚至对手下人说,你们可要把徐戟看好了,别让他跑了,这个人可值钱了。
“已经还有一个运营商 IT 负责人半开玩笑的和我说,如果你能通过优化,让我的零碎多用两年,我给你 1000 万都违心。”徐戟说,这实际上就是系统优化的外围价值。
徐戟示意,这虽是玩笑但也阐明系统优化确实是能节约投资,能真正带来实实在在收益的。这也成为明天徐戟将很大精力放到智能问诊软件 D-Smart 的研发上的一个重要起因。
“过来很多零碎重建设轻保护,零碎上线后就没人管了,导致系统性能很快就降下来了。实际上,只有做些惯例的运维工作,往往就能获得很好的成果。D-Smart 心愿在这方面做点工作。”徐戟说。
和国产数据库一起成长
徐戟从 2000 年当前缓缓将次要精力转到数据库,特地是 2006 年成为 Oracle 在中国的外包服务商之后,工作重点就全面转向数据库。加上随着年纪的增长,持续写代码精力也跟不上,徐戟也心愿能把精力转到数据库的运维上。“毕竟数据库是一个能够干到老的工作。”徐戟说。
因为徐戟长期从事数据库相干的工作,使得他对数据库行业的倒退十分理解。这些年下来,他太理解中国在数据库畛域的问题所在了,也十分心愿为中国数据库产业的倒退出一份力。为此,他踊跃激励本人及其身边人把数据库畛域积攒的教训对外分享,他写书、开微信号、演讲,一直流传数据库的相干常识。
“我喜爱分享,心愿大家能一起致力,让这个生态做得更好。当年出书的时候,就有很多人让我别出书了,说这里有很多技巧和办法都是 DBA 吃饭的成本,说进去他人都会了。最初我还是保持出了。”徐戟说。
2017 年,创建南京基石数据公司当前,他决定推出一款用于数据库的智能诊断工具,让这些教训能为更多人服务,这就是 D-Smart。他说这可能是他退休之前做的最初一件小事了。
D-Smart 将数据库专家的教训集合起来,造成常识图谱,而后对数据库运维过程中采集下来的各种日志、指标等数据主动进行剖析和诊断,及时发现问题并告警。
“D-Smart 对不同的 DBA 作用不同,如果是一般的 DBA 能够通过它帮你发现个别的数据库问题,进行个别诊断和告警;如果是高级的专家,它也能够帮你把材料进行汇总,为专家的诊断提供方便。”徐戟说。
因为 D-smart 的指标是能实用所有市场支流的数据库,所以徐戟这些年和国产支流数据库都有接触,对于国产数据库的有余也深有体会。徐戟介绍,很多国产数据库面临的难堪情况是,小问题不必 DBA 来,扛一阵子就过来了;大的问题,DBA 不用来,来了也没有用。
“数据库的可观测性是一个数据库是否成熟的一个重要标记。Oracle 提供了十分丰盛的指标,通过这些指标能够十分分明地理解目前数据库的运行状况。比方,光是期待事件 Oracle 就提供了 2800 多种,而咱们很多国产数据库连最根底的一些指标都没有,对 DBA 很不敌对。”徐戟示意。
D-Smart 是一个深度运维工具,须要依据丰盛的指标数据能力做出判断,然而国产数据库在数据的提供上广泛有余,尤其是后起之秀的国产分布式数据库。一方面,国产分布式数据库本来相比集中数据库本来架构就要简单一些,同时技术成熟度又晚一些,使得国产分布式数据库在指标上和相干文档上落后更多。
不过,OceanBase 给徐戟留下十分好的印象。OceanBase 是 D-Smart 接入的第一个国产分布式数据库,这也阐明 OceanBase 在可观测性上相比同类数据库有不小的提高。
徐戟说,OceanBase 给他印象最深的有几点:第一是装置和部署容易;第二个是文档绝对残缺,在国产数据库中十分优良;第三,OceanBase 这几年在优化器上真正下来不少功夫,每一个版本都有显著晋升。
他心愿 OceanBase 在版本兼容性上、零碎可观测性上以及产品自身的成熟上也能持续提高,为中国数据库产业的提高起到更大的作用。
DBA 须要历练
作为一名数据库技术专家,徐戟认为 DBA 是一个须要工夫积淀的工作,当然也是一个能够做到老的工作,而且是一个十分有成就感的工作。
“DBA 是须要工夫积攒的,它是一个实践学习和实际相结合的职位。如果你干了个三年、五年,你才算刚刚入门。有人可能这个时候就感觉本人很牛了,因此放松了学习,甚至进行学习。其实刚刚进入到一个新的阶段。”徐戟说。
那么,如何激励本人学习,徐戟认为第一重要的是——对数据库有趣味。
“你得对数据库有趣味,没有趣味的人,你可能只它是一个职业的话,等你干到肯定年龄,可能感觉干不动,早晨加班也加不动了。只有你有趣味能力长期干。DBA 是越老越值钱,因为你的教训越丰盛,你越能精确发现问题,疾速找到问题所在。”徐戟说。
第二,做 DBA 必须有比拟强的学习能力。“你肯定得是一个违心学习的人,否则你不要干别的,就是看文档,看材料都难以保持,还别提那些靠 DBA 相干的各种证书。而且这些也只是刚刚入门而已。”徐戟说。
他说他至今仍放弃学习的习惯,订阅了很多会员,保持看大量的书和材料,一直学习,否则的话可能很快就会落后。
第三,DBA 性情要够沉稳。毛手毛脚的很容易出事儿,而数据库一旦出了事儿,就出大事儿了。
从长期来看,数据库运维越来越走向智能化,但真正的高端数据库专家永远是机器没方法取代的。徐戟认为,对于 DBA 而言,最终的前途应该是往上走,让本人真正成为一名的技术专家,而不是成为一个能够机器代替的人。