How Lujinso Migrated 90% of Its Oracle Databases to MySQL at Scale
Facing high licensing costs and poor scalability, Lujinso embarked on an 18‑month, self‑driven project to replace 90% of its Oracle databases—spanning billions of rows across financial services—with MySQL, supplemented by Elasticsearch, Redis, TiDB and HBase, using an automated migration platform.
During a survey of enterprises that migrated away from Oracle, most relied on cloud vendors or other companies that had already succeeded; Lujinso is a rare case that completed the migration entirely on its own.
Lujinso launched its Oracle‑to‑MySQL migration in mid‑2018 and spent 18 months moving 90% of its databases—thousands of tables across hundreds of subsystems and petabytes of data—covering fund, online‑loan, trust, asset‑management, banking, securities, insurance, and other financial scenarios. The whole process was managed through an automated platform.
More than 500 developers, testers, and operations engineers from Lujinso’s R&D and technical operations teams participated in the effort.
Three Key Phases of the Migration
Validation of the migration plan using edge systems.
Construction and optimization of the "Go‑Oracle" automation tool platform.
Fully automated, standardized rollout of the migration.
The migration was driven by the same reasons as many other companies: the existing Oracle architecture had poor scalability and the software licensing fees were prohibitively high, unable to support the explosive growth in transaction volume since 2013.
As Lujinso’s business expanded to cover the full spectrum of financial services, the Oracle database also fell short in capacity and regulatory compliance.
After auditing every interface and SQL statement across all applications, Lujinso selected MySQL as the primary replacement. Because MySQL could not cover every Oracle use case, additional storage engines such as Elasticsearch, Redis, TiDB, and HBase were introduced to leverage their strengths in specific scenarios, resulting in a re‑architected database landscape that seamlessly replaces Oracle.
The core requirement was to switch the central database without any perceptible impact on external users. Lujinso therefore built a table‑level data synchronization tool that treats MySQL as a backup for Oracle, synchronizing DDL and DML changes in real time. At the application layer, a dual‑DAO architecture and a dynamic data‑source switch allow traffic to flow between Oracle and MySQL, with the ability to reverse‑sync data from MySQL back to Oracle to ensure consistency.
During the six‑month core‑business migration window, some tables operated on Oracle while others on MySQL, all while numerous feature releases were being deployed. Balancing ongoing version releases with data migration required careful coordination.
Wang Yingjie, head of Lujinso’s database team, presented these practices at the GOPS Global Operations Conference in Shenzhen, offering a detailed, real‑world case study for organizations considering a similar Oracle‑to‑MySQL transition.
Efficient Ops
This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
