My years in MySQL (1)

Tencent cloud database 2020-11-10 18:08:07
years mysql

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 .

This article by the blog one article many sends the platform OpenWrite Release !

本文为[Tencent cloud database]所创,转载请带上原文链接,感谢

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云