编程知识 cdmana.com

My years in MySQL (1)

author Lai Zheng (Allen Lai) front MySQL Official team members , Focus on Database Kernel Development for nearly 20 years , He has worked in dream ,Teradata, Peking University Founder and MySQL InnoDB Storage engine team , It's the Damon database kernel , Founder XML database , as well as MySQL InnoDB Of GIS Support , The main developer of transparent encryption . Now Tencent TEG Expert engineer of database team of Cloud Architecture Platform Department , In charge of tencent cloud MySQL Research and development of database kernel .


Part1 meet

2012 Spring of the year , I'm in an orange building in Zhangjiang , It's sunny outside the window , My friends and I are working hard on the keyboard together , With a soft telephone ringing , A strange number appears on the screen of the mobile phone ,“ Is it harassing the phone again ?” Leave him alone , I went on to do my own thing . But the cell phone is shaking all the time , It seems to urge me to , I picked up the phone and put it through , There's a very soft, professional voice from the other end ,“ Hello! , I am a Oracle Recruitment consultants for Amy, Is it convenient for you now …”.

My career has been with MySQL There's an intersection .

Amy Tell me MySQL InnoDB The team is interested in recruiting suitable database kernel engineers in China , Ask me if I'm interested in joining .MySQL What is it? ,the world’s most popular open source database, Invite me to join ? I didn't even want to answer her :“ Of course. , And I have a lot of interest !”

Amy It's a very professional HR, Very efficient arrangements for my subsequent interviews , With a little bit of trepidation and excitement , I started to get into MySQL Team interviews .

The first round of the interview :InnoDB The team manager,Calvin.Calvin Is an expert in the field of database , In my early years, I graduated from CUHK and went abroad ( In the following articles, I will introduce MySQL The cattle of ).

The second round of the interview :InnoDB Performance optimization experts Innam,Innam Is the author of buffer pool performance optimization .

The third round of the interview :InnoDB A great god Marko.Marko yes InnoDB One of the founding team members , Storage engine technology experts .

The fourth round of the interview :InnoDB Architects Jimmy.Jimmy It's also a versatile expert in database kernel , And it was before sybase The boss of the kernel team .

A complete set of procedures come down , Actually MySQL The interview is not as many rules and difficult as you think , Before and after 4 round , It's basically chatting , It mainly focuses on the things that have been done before and the understanding of the database kernel , During the interview , I'm quite impressed ( More interesting ) There are three things :

One is Innam The accent is too strong , Plus calls from far away Canada , My English listening is really not high , So I didn't understand a lot of questions , There was a lot of panic at that time .

The other is Marko use google talk Asked how to find transaction deadlock , His typing speed is super fast , So I think there's a typing machine on the other side , It wasn't until I saw him that , He's just an emotionless programming machine ( Actually ,Marko Still a very interesting person , I'll introduce some interesting things about him later ).

Last , and Jimmy The interview was held in a cafe on Nanjing West Road , Two people seem to have known each other for a long time ,Jimmy It's a wonderful person , Very friendly . The whole interview process is quite relaxed , I didn't plan to , Maybe it's really lucky .

Part2 The team

In terms of traditional software enterprises ,MySQL The team structure is relatively flat , There are few levels , Basic employees like me , leave Oracle The biggest boss Larry Ellison It's five stories apart . The main reason for this is Oracle Acquisition MySQL For a long time after that , Basically reserved MySQL The original structure and personnel of the team , It's just a little bit of simple access .

Whole MySQL Divided into several big teams , Yes MySQL kernel,MySQL replication and MySQL NDB wait , These big teams are subdivided into a number of small teams , such as :MySQL kernel There are optimizers in the team ,server layer ,InnoDB and QA etc. .

at that time , Where I am InnoDB There is... In the team base In the United States Calvin,Kevin,Jimmy, Finnish Marko, Australian Sunny, Canadian Innam,Michael, Swedish Mattias, India's Satya, Bulgarian Vasil, Plus China's me , There were only eleven people , But from eight different countries , It's a completely global R & D team . Everyone on the team is an experienced database kernel programmer , such as :Marko yes 2003 Joined in InnoDB The most experienced God of all ,Sunny It's in the future InnoDB manager,Kevin I was once involved in Falcon Storage engine development veteran ,Jimmy Once led Sybase And so on . Can work with so many big guys , It's really a lucky thing .

2013 Team meeting in Shanghai

Right up :Jimmy,Yasufumi, Allen, Kevin, Marko, Shaohua, Mattias, Satya, Sunny, Vasil,Aditya, ??, Annamalai, Bin, Michael, ??, Krunal…

Part3 Work

stay InnoDB Work , It's a very happy thing , Because you can work from home , I believe many people envy this point , And that's for a parent who needs to pick up their kids every day ( I ) Come on , It's a very rare Welfare , Not only can you allocate your work and life time according to your own rhythm , It also saves a lot of unnecessary commuting time , Need to know , Go to Oracle The office in Shanghai , It takes more than two hours to go back and forth .

Because it's a global team , and , Members are also more experienced , therefore , The way we work is very special . Basically everyone is focused on their work , Relatively independent , When cooperation is needed , adopt pigeon、 Communicate by email or phone . There's a weekly meeting , Each of you will report on the progress of your work , And discuss .

Except for the weekly meeting , We also organize once a year team meeting, People come together from all over the world , Sum up the work of last year , Plan for next year , Talk about ideals , Talk about life .

stay MySQL, The R & D process is very standardized . With a bug Repair, for example , There are several steps to go through :

First , Need basis bug report To analyze and reproduce bug, And find a way to fix it , Process and 5 After the discussion of the big man , Determine the repair plan and pass bzr Create a new code branch .

After coding , You also need to create the corresponding MTR test case, And with the fix code , Put it in reviewboard Please come up here review.Review The process can last several rounds , Because like Marko Such a great God review It's very rigorous , I won't let go of any details that went wrong .

Review After completion , You need to put the submitted code on the test cluster to test . This automated test system is very powerful , It will compile on multiple platforms at the same time debug and release edition , And then parallel testing .

Testing is completed , After confirming that there are no problems, the code can finally be merged into the trunk .

 My first submission

The above is just a simple bug Repair process , And for more complex feature development , The steps also include the previous creation tasks worklog, And in worklog It should be filled in accordingly HLD(High Level Design),LLD(Low Level Design) And so on , And develop prototypes and so on .

 I did it check The characteristics of spatial index worklog

stay InnoDB In six years of work , I did a total of 461 Submission , The main features that have been done include ,InnoDB Support spatial index , Transparent encryption , New data dictionaries and so on , Here are some of them worklog A list of :

WL#6968 InnoDB GIS: R-tree index support

WL#6455 InnoDB: GEOMETRY datatypes support

WL#6745 InnoDB GIS: support DML operation for InnoDB R-tree Index

WL#7740 InnoDB GIS: Enhance Check Table for InnoDB Spatial index

WL#8548 InnoDB: Transparent data encryption

WL#9290 InnoDB: Support Transparent Data Encryption for Redo Log

WL#9289 InnoDB: Support Transparent Data Encryption for Undo Tablespaces

WL#9531 InnoDB_New_DD: Enable table encryption and transparent compression

WL#9535. InnoDB_New_DD: Remove InnoDB system table and modify the view of their I_S counterparts

WL#9537 InnoDB_New_DD: Support InnoDB table import/export for new DD

In these six years , I feel that I have gained a lot , Experienced MySQL Such an open source database software product is how to carry out the whole process of research and development , I also learned how a mature R & D system and international team work . Working with foreign gods , It's not just about learning knowledge and skills , We also found some work totally different from ours , life , Even the way of thinking , It's also a very novel experience for me .

Part4 Leave

With the explosive rise of Internet companies , as well as MySQL The rapid development of the ecological chain ,MySQL Many members of the team get better development opportunities and gradually leave . And I also started with Tencent cloud database CDB kernel TXSQL The story of .

Coincidentally , Just as I left MySQL Less than a year ,Oracle Announced the closure of China's R & D Center . about Oracle Come on , Facing things like Amazon , Ali , Tencent's strong impact and to O The wave of , It will go through a difficult period of transformation . And for MySQL Come on , In the foreseeable future, it will still be the world’s most popular open source database, As ever MySQL people , I will continue to help Tencent MySQL The development of , Through Tencent cloud MySQL The kernel of TXSQL by MySQL The ecological chain continues to contribute its power .

PS: In the following series of articles , I'm going to share some with you MySQL Something interesting about it , Let us know more about MySQL And its Tencent version TXSQL, Hope you enjoy it .

本文为[osc_ kz2s8mnr]所创,转载请带上原文链接,感谢

Tags years mysql
Scroll to Top