从DTCC2013到2024--11年数据库之旅:2013至2015篇

来源:六安市叶集区金利木业有限责任公司

序言1本来想写DTCC2024年总结的,盘点一下我在DTCC2013、2015、2018、2019、2022、2023和2024,还有SACC 2015中的主题。

11年间,我分享了8个主题:

2013:《11GR2 ASM I/O规化》,软条带原理。

2015:《最老的新技术》,逆向Oracle方法论,内容唬人,大段的汇编,慎入。

2015 SACC:《去IOE关键技术分析》,分布式。

2018:《读源码从入门到放弃》,systemtap动态调试。

2019:《私有云数据库实践之道》,我历年来最简单的话题。没有反汇编,没有寄存器。

2020:《借鉴Oracle深入修改MySQL/PostgreSQL内核》,逆向Oracle,增强PG/MySQL。

2021:《摸着Oracle过河 ---- 大幅提升PostgreSQL性能分享》,逆向Oracle,增强PG。

2022:《用最少的代码量 取得最大程度的性能提升 ---- PostgreSQL内核深度优化》,逆向Oracle,增强PG,介绍体系结构+数据库方向。

2023:《现代处理器之上的数据库》,体系结构+数据库。

2024:《为什么大型数据库需要共享池》,逆向Oracle,和体系结构+数据库融合后成果。

这里面有不少有意思的东东。

SACC2015的《去IOE关键技术分析》,应该是中文互联网世界,第一篇详细讲述互联网企业低延迟分布式事务解决方案的文章。

这篇文章被大量热心网友洗稿、转载(当然会去掉我的名字),也算为分布式普及,贡献了自己的力量。

你可以百度一下,我是从来没找到过比2015更早的关于这方面的文章。

DTCC2022的《用最少的代码量 取得最大程度的性能提升 ---- PostgreSQL内核深度优化》,我分享了一个“消失的一百万”问题,用极简单的步骤,验证Oracle在极小概率下,无法保证Read Commit(也就是读到未提交数据)。

这可是Oracle,连Read Commit都无法保证,你相信吗?

如果不是从逆向Oracle的结果出发,这种极小概率的问题,可能还真遇不到,但按我PPT中的例子来,可以百分百必现。

11年的内容,盘点着盘点着,翻了一下过去的照片,从35岁到46岁,突然有些伤感。这DTCC总结,变成职业发展心路历程了。

正好,不少朋友都挺关心35岁危机话题的,虽然我也不确定自己是否能搬砖到50,但35岁还是过了,一直搬砖到现在,给大家提供点职业发展的思路吧。

序言2

驴子不会因为勤劳致富,IT搬砖侠,也不会因为搬砖而有钱。搬砖,搬砖,搬到最后,如我这般,还是搬砖。

老话常说选择大于努力,但选择是否正确,取决于“命”。除了少数天降伟人,又有几人能确信当初的“选择”,是对是错。不过都是幸存者偏差。

选择错(命不好)的人,都黄袍加身,送起了外卖。纵是相逢应不识,因为你只看是不是你的外卖。

选择对(命好)的人,才能侃侃而谈。坐而论道,分享成功经验。顶尖者还能凡尔赛一下,“钱,是最容易得到的东西……”(那你给我亿点点呗)

最好的方式是,不去选择。

不是躺平,正好相反,努力的去做适合自己的事,是让命运选择你。是否会得到命运之神的垂青,成为天命人,看命吧。

就算没被命运选择,不是天命人,也没关系。如我这般,选择错误。那么在自己适合的方向上多努努力,说不定可以再迟几年黄袍加身,还能再多Coding个几年。

如果最终能“面向火葬场编程”,写代码写到人生的最后一天。虽然不能像命好的成功人士那样,富足、悠闲且毫无意义的过完一生。但青山何处不埋骨,行行代码有真情,也未必不是人生之幸啊。

好,正篇开始。

(连序言都两段,做好准备,下面正文可是万字长文啊)

DTCC2013 :《11GR2 ASM I/O规化》,软条带原理

这是第一次参加DTCC:

Oracle的ASM,其实是一种软条带软件,我其实就是以ASM为例,为大家介绍条带这种技术。

条带虽然和如今的对象存储理念上有非常大的不同,对象存储适用于OLAP、追求吞吐量的场景。而对延迟较敏感的OLTP,条带技术仍是最好的选择。

关于条带,看看你能回答这些问题吗:

如果数据库发起一个8KB的I/O,条带存储子系统实际完成的I/O大小是多大?

如果数据库发起一个1MB的I/O,条带存储子系统实际会有多少块盘同时开始I/O,以完这1MB的请求?

条带存储子系统为了完成上层的一次I/O请求,越多块盘同时工作更好,还是少量盘同时工作更好?

File中连续的2MB数据,在条带存储子系统也是连续的吗?

数据文件中两个连续的8KB,在条带存储子系统也是连续的吗?

如果以上问题都能Cover住,以下两个问题自然就不再话下了:

大条带适用于什么场景?不适用于什么场景?

小条带适用于什么场景?不适用于什么场景?

我力求在40多分钟时间里,讲明白条带的原理,明白原理,上面这些问题不言自明。

在PPT的最后,还分享了一个数据分布不平衡引发问题的例子,不过这个例子只适用于ASM。但对于其他软条带,仍有参考意义。

有兴趣的,我会把PPT放上来,等着看PPT吧。

接下来一年,2014年,我到了ebay,这一年我主要在学英语,没参加DTCC。

再参加DTCC,就是2015年了。

DTCC2015 & SACC2015:《最老的新技术》,逆向Oracle方法论。《去IOE关键技术分析》,分布式

到了2015年,经过在ebay 1年多的沉淀,感觉内力提升不少,至少达到中、高级了。这一年也是转型期的开始,我能稳定的跨越40岁,一直搬砖到现在,还没有黄袍加身,都有赖于2015年开始的转型。

我参加两场演讲分享,DTCC2015和SACC2015。DTCC2015中,

我的内容如下:

什么是“最老的新技术“?

其实就是逆向。逆向分析古已有之,但对Oracle进行逆向,直到2024年的今天,可能还是挺新鲜、挺少见的。

所以,我这里把它称为《最老的新技术》。

为什么我要逆向Oracle?

因为我在ebay时候,其实处在一个挺尴尬的位置。

ebay是外企,世界第一家电商,创始故事非常传奇。

创始人皮埃尔·奥米迪亚当年为了让未婚妻可以在网上收集更多的玩具糖果盒(美国一种按玩具公仔头就会弹出糖果的玩具),玩票性质的搞了个拍卖网站,让妻子可以在网上买玩具糖果盒。

这是1995年的事儿。

然后,就这么开玩笑一样,搞出来的东东。3年后,在1998年,纳斯达克敲钟了。ebay,登陆资本市场。

简直比拉泡屎都容易,像白捡一样,有没有。

你看,什么是天命人。

这就是,钱,还真他娘的是最容易得到的东西。不服都不行。

ebay在2000年初的头几年,进入中国。然后,就和另一位天命人相遇了。对,他就是杰克.凡尔赛.马:

然后,ebay就退出了在华市场。

关于ebay退出中国这事儿,网上有N多个分析,我就不班门弄斧了。

虽然ebay退出中国市场,但在中国保留了研发、技术人员。这足以说明这批人是多么的优秀,都没了在华业务,但仍舍不得裁掉这批人。

在华的研发团队,被称为eBay China Technology Center Of Excellence,CCOE --- eBay中国卓越技术中心。

这是一支真正国际化的团队,因为业务在全球各地(唯独没有中国),团队几乎每天都英文开会,全球的同事在电话会议中畅聊一番。

在阿里、京东涮够了资历的我,加入的就是这个eBay CCOE。

但我英语很差,勉强能看、能写,听与说,不好意思,听不懂,说出来的也总闹笑话。

因为用词不当,或是听错了一些关键词,我闹了不少笑话,为枯燥的电话会议,增加了不少欢乐的氛围。

特别是CCOE其他团队的中国同事,更能理解我的特色英语,简直不要太欢乐。

不过还是要说明一下,我们数据库团队的同事,还是给了我极大的帮助。

我们的Leader Xfang,极少数另我佩服的人,我极少遇到纯粹在技术上胜过我的人。Xfang是极少数人之一。

广博的Alex,潇洒的Tao,霸气的Gui,还有两位Andy,都在各种会议中帮助我。特别是我的老乡Andy,几乎是只要有会议,我就拉上Andy当我的同声翻译。

这下你明白我的尴尬了吧。我的职级很高,但我的沟通,一言难尽啊,因为我们每天都要和美国的同事沟通,你就说我尬不尬吧。

其实到ebay的主要目的,我想去美帝那边搬砖。ebay很乐意送同事去圣何赛(硅谷)总部。我们数据库团队的同事,不少都润到美帝去了。

早些年,我一直自命不凡,觉得自己也是天命人,后来吗,也就踏踏实实搬砖了。但我总觉得的美帝搬砖更轻松。

我觉得我可以快速搞定英语,ebay CCOE的leader们,也觉得我学习能力不错,搞定英语不是问题。然后,我就可以通过ebay,愉快的去美帝搬砖了。

但我就是没有搞定语言问题。

2014年为啥没去DTCC讲讲,就是在苦学英语。

我上下班路上听李阳疯狂英语;晚上到家,付费在51Talk上和菲律宾人狂聊;把各种单词抄到小卡片上,时时复习;用宾浩斯记忆曲线,……

我之所以在51Talk上练口语,还有段小故事。

先是我的Leader向我推荐51Talk,我就报着试试看的态度,在网站上注册了帐号,交了几十块钱,预约了几节课。开始上课时,对方打开视频,一个漂亮的菲律宾小姑娘,出现在屏幕上。隔着屏幕,也能看出来,肤若凝脂、唇红齿白,眼晴弯弯如新月、眉目含情能钩魂。

给你个画面吧,大概就是这样:

当年还没有那么先进的美颜,小姑娘美的动人心魄。我们用英文简单做了自我介绍,她的家乡在美丽的长滩岛,孤身一人在马尼拉打拼。我的英文忽然间很流利,我向她讲述一名数据库人十几年不屈不挠的奋斗史,还时不时加了些小笑话,把她逗的浅笑盈盈。

一时之间,两个孤独的人、两颗孤独心,隔着万水千山,产生了共鸣。

我这是线上的英语课,都已经这么爽了。我终于明白了,为啥成功人士都热钟于英语课。

然后,在预约的课学完后,我交了几千块钱课时费。然后,这名小姑娘的课,我就再也约不上了。

于是在51Talk上,我就只能总和一些菲律宾爷们用英语聊天。

就这样,在苦学了近两年英语后,我听力水平依然一塌糊涂。

于是,我面临这样的情况,位置职级很高,但沟通问题也好、其他问题也罢,总之,价值并没有完全的体现出来。你说,尴尬不尴尬。

于是我退意渐生,也放弃了去美帝搬砖的目标。

当年我已经37岁,已经失去了考公务员的可能,考公上岸是不可能的了。而且我学历太低,只有职高。ebay等一众私企,可以给我开绿灯,考公、国企是不可能的。

美帝去不了,考公/国企上岸不可能,又不是天命人,我只剩下一条路:一直搬砖。

要在我们这儿一直搬砖,对于大龄IT人,困难程度可是Hard级别。没办法,只剩一条路时,不卷也得卷。

那么,要怎么卷、往哪儿卷呢?

好,本回就到这儿吧,欲知我要怎么卷、往哪儿卷,发听下回分解。