Many things in life are not deliberately planned, but unfold step by step. How did someone who was supposed to wear a lab coat and work in a laboratory become a "coder" wearing a plaid shirt and going in and out of office buildings? How did Zhang Yaohui complete this professional transformation? How can one cross specializations and become a DBA successfully? This article unveils that process.
Zhang Yaohui graduated from Harbin University of Science and Technology, majoring in Polymer Materials Science and Engineering. He currently works at Unicorn Shark (Beijing) Technology Co., Ltd., serving as Head of the Systems Department. He has worked in software development for seven years, primarily in the financial payments industry, is familiar with domestic and international payment systems, and excels in building payment systems.
At Payso, Zhang Yaohui leads the Systems Department, doing backend software development - what people often call a "code monkey" - while also doing some DBA work on the side. Back when he was studying polymer materials at Harbin University of Science and Technology, Zhang Yaohui never even dreamed of the job he holds today.
A "Coder" Emerging from Mid-career Shift
Polymer Materials is a high‑technology major focusing on the preparation, structure, properties, and processing applications of organic and biological polymers. Graduates in this field usually go to chemical companies or research institutes as chemical technicians or researchers, studying plastics, rubber, etc.
Zhang studied polymer materials in college. He didn't know much about the major when he chose it - it was rather coincidental. During university he had little particular passion for the major, though also not dislike it. He assumed he might stay in that field for life - until, in 2013 after graduating and entering society, he realized this wasn't his ideal path.
After graduation, he obtained a campus-recruitment job in Wenzhou doing cable‑related research. Only then did Zhang learn the realities of the industry. The work was tedious and the income low. Meanwhile, China's internet industry was growing explosively, drawing many young people into IT. Compared with his IT peers, Zhang felt he was falling behind.
In Zhang's view, the IT industry works with the freshest knowledge and offers much higher pay. He envied those around him. Seeing others from non‑computer backgrounds enter the IT field, Zhang decided to re-plan his life: make "coding" his next stop.
Once he decided, he acted. Zhang moved to Beijing, enrolled in a training institute to systematically learn Java and backend development, and began patching up his computer science fundamentals.
"If your math, physics, and logical thinking are a bit good, people from other majors learning computer science is not very hard. Especially if your goal is not to become a top development expert, most of the required knowledge is manageable," Zhang says.
After six months of structured study and training, in 2015 Zhang officially entered the IT industry, joining a fintech Internet firm as a software developer. He realized there were many people around him who had switched fields.
"I found that there are lots of people in IT who came in mid‑career from other majors, and they do quite well." Zhang says this gave him confidence.
In 2020, when Payso was founded and the Systems Department opened a vacancy, Zhang joined smoothly and became head of the department, in charge of Payso's IT system development and operations support.
Shard Table or Change Database?
Payso is a startup that offers financial payment services to overseas clients - for example, acquiring services, e‑wallets, etc. At one point, Payso's system recorded daily transactions of RMB 1.8 billion and 700,000 orders in a day. In payments management and e‑payments, they were at the forefront.
Like many startups, Payso used an open‑source architecture and chose MySQL, deployed on Alibaba Cloud. As business grew rapidly, the database grew very fast. Many single tables had millions or even tens of millions of rows; some had exceeded a hundred million - and the count would continue to increase with orders. As data volume grew, MySQL's performance began to degrade, and it was clear this problem would worsen over time.
There are generally two ways to solve MySQL performance issues: (1) optimize MySQL itself (e.g. sharding, table partitioning, read‑write splitting) or (2) switch to another database.
From Zhang's viewpoint, "read‑write splitting" was not ideal for Payso. Because Payso is doing payment operations, every order query must reflect the real, current state. With read‑write splitting, read replicas may lag behind writes, undermining strong consistency. So what you read may not be the true state.
"Our business is not like e‑commerce. We deal with orders, i.e. a customer's account info. If I look up a status, it must be the real status," Zhang explains.
He also saw issues with sharding/partitioning. It is technically complex, often requiring middleware, is invasive to business logic, may require code changes, and is operationally complex. For Payso, which didn't have a dedicated DBA team yet, the implementation cost was high.
After full evaluation, Payso decided to replace MySQL with a database that could satisfy high-growth data needs and offer reliable performance - and a distributed database was clearly an ideal choice.
Migration Went More Smoothly Than Expected
There are many distributed databases in the current market, so selecting the right one is a dilemma for many companies. But for Payso, the choice was relatively simple. They didn't employ a complex POC process - few reference cases from peers plus internal tests led them to pick OceanBase.
Of course, whether Payso would indeed adopt OceanBase depended on test results. With support from OceanBase engineers, Payso conducted comprehensive functional tests and data validation over two months, and the results were very satisfactory. During migration, aside from needing to adjust some field types, adding primary keys to tables lacking them, and fixing some nonstandard SQLs, they encountered almost no major issues.
Zhang says that OceanBase's supporting tools are excellent - encompassing disaster recovery, multi‑active deployment, load balancing, and migration - which greatly facilitated the migration.
"During migration, the system would alert which tables needed adjustment. OceanBase engineers also told us how to adjust. The process was very smooth. We didn't even write a single line of code to complete the migration," Zhang says.
Zhang analyzes that beyond OceanBase's strong tooling, their prior use of Alibaba Cloud's MySQL RDS helped. The MySQL version of OceanBase is highly compatible, so driver configurations needed almost no modifications.
Now, Payso has fully migrated its business systems to OceanBase. The database performance issues have been completely resolved. Operations have become much simpler - scaling and backups can be done via console with one click. For Zhang, who also fulfills DBA responsibilities, this has eased his burden and allowed him to devote more focus to business‑level development.
Speaking of the migration, Zhang is very satisfied. The migration also showed him the great strides domestic databases have made.
"Performance issues in a database can often be addressed from the business side too, but that places high demands on developers and operations and thus has high cost. We switched to OceanBase, didn't incur much extra cost, and solved the problem thoroughly. Domestic databases are impressive," Zhang says.
Sustaining a Technical Curiosity
Zhang's main job is software development; database operations is a side role, not his core job duty. But as a developer, he believes it's very necessary to know something about databases. So in his work he is careful to study databases.
Beyond OceanBase, Zhang has worked with IBM DB2, Oracle, MySQL, and has accumulated substantial operational experience through self-learning, especially with MySQL.
Reflecting on these years of part-time DBA experience, Zhang believes that besides mastering DB ops knowledge, a DBA must maintain curiosity about database trends and keep accumulating insight.
"A person's breadth and depth of technical knowledge needs gradual accumulation. Early learning may be just to complete a task. Once it's done, if you see there is more to learn, you should seize the opportunity. At that point, learning is effective, because the subject is something you're interested in, so it's easier to grasp," Zhang says.
He says the IT industry updates knowledge very fast; practitioners must sustain curiosity, continuously refresh their knowledge systems, and build cumulative advantage to remain on an upward trajectory in their careers. That principle helped him evolve from a junior "coder" into a competent technical lead.
Zhang says he will continue improving. He hopes to become a senior architect and a true technical expert.
Visit the https://payhip.com/OracleeBookSoftwareShop website to get an e-book about Oracle internal storage.
Top comments (0)