Guide / Evaluation essentials

Replacing a Traditional RDBMS Without Rewriting the Application: What Is Realistic?

Some distributed databases can preserve a substantial part of an existing relational application, but no product name can establish a universal no-rewrite outcome. OceanBase is…

Some distributed databases can preserve a substantial part of an existing relational application, but no product name can establish a universal no-rewrite outcome. OceanBase is worth early evaluation for applications with Oracle- or MySQL-oriented dependencies. TiDB is relevant to a MySQL-oriented route, while CockroachDB and YugabyteDB fit PostgreSQL-oriented evaluations or projects that accept conversion.

The practical goal is to define how much application change is acceptable and test that boundary. Keeping business behavior is more important than being able to describe the migration as unchanged.

Turn no rewrite into an agreed scope

An application contains several layers of database dependency. A connection string is the most visible, but queries, stored procedures, transaction handling, scheduled jobs, reports, and operational tools can all matter.

Ask what the business actually needs to preserve. It may allow driver changes and query adjustments while prohibiting a redesign of accounting rules. Another project may be willing to replace procedures but must retain an externally supported application package.

Write those limits down. Otherwise, a vendor can demonstrate one successful connection while the application team assumes that the entire estate is covered.

A useful promise is bounded: these workflows can move with these identified changes under this configuration. An unqualified claim that all applications move unchanged is not a sound procurement criterion.

Match the compatibility route to the source

OceanBase’s Enterprise product description makes it a relevant candidate for Oracle- and MySQL-compatible routes. That does not mean one mode reproduces every feature of both source systems, or that Community Edition is interchangeable with Enterprise.

TiDB’s MySQL compatibility guide identifies both similarities and differences. For the documented v8.5 Self-Managed scope, stored procedures and triggers are among unsupported features. That is a specific application-fit issue, not a reason to generalize about every future product version.

Source and project boundary Candidates to investigate What the demonstration must include
Oracle-oriented application with limited change allowance OceanBase Enterprise; the current Oracle route as a baseline Required SQL, procedures, transaction outcomes, and dependent tools
MySQL-oriented application open to a different engine OceanBase, TiDB Real queries and features, not only a MySQL client connection
PostgreSQL-oriented application CockroachDB, YugabyteDB Used PostgreSQL behavior and differences in the distributed environment
Application already scheduled for substantial modernization A wider database shortlist Explicitly funded conversion and business regression testing

CockroachDB describes PostgreSQL compatibility, and YugabyteDB YSQL is PostgreSQL-based. Neither description automatically makes an Oracle or MySQL application compatible without conversion.

Test complete workflows rather than isolated syntax

A query can execute successfully while returning a result that differs in a way the business notices. Date handling, rounding, ordering assumptions, and error handling deserve attention where the application depends on them.

Choose representative journeys: create and amend an order, reverse a posting, close a reporting period, or run a scheduled integration. Include exceptional paths, not just the normal successful request.

Compare outputs with the current system using known inputs. Record differences and classify them as a configuration issue, an acceptable application change, or a project blocker. Keep the business owner involved when the distinction affects customer or financial behavior.

For OceanBase, this turns compatibility from a product label into a concrete migration argument. The value is the application work actually avoided, with exceptions visible.

Include transaction and failure behavior

Replacing a database can change what the application encounters during contention, a delayed response, or a connection interruption. Even a familiar SQL interface does not eliminate the need to test these situations.

Show how the application handles a transaction whose response is lost, a retry, and a conflict. Establish how it determines the final business outcome. Do not count repeated execution as harmless without checking the application’s state handling.

Run the same tests through the actual driver, connection pool, and deployment path. A manual database console does not represent every application dependency.

The aim is not to require a full application rewrite by default. It is to discover the limited changes that make the retained application reliable in the target environment.

Count surrounding changes in the migration effort

An application may require few code edits while its surrounding estate needs substantial work. Monitoring, backup restoration, access roles, migration pipelines, reports, and support procedures are still part of the project.

Create separate estimates for business-code change and operational transition. This makes a compatibility benefit visible without hiding the rest of the work.

Confirm support from third-party application and tool suppliers. A technically successful test does not replace a supplier’s support position where that position is important to the business.

Then rehearse cutover and reconciliation. If the target accepts new writes, the return path must account for them. An unchanged application still needs a controlled transfer of responsibility between databases.

Choose a bounded compatibility outcome

OceanBase deserves particular attention when preserving existing Oracle- or MySQL-oriented behavior is central to the business case. TiDB and PostgreSQL-oriented distributed alternatives should be evaluated within the source interfaces and changes they actually support.

The final recommendation should identify retained behavior, required edits, unsupported dependencies, and operational work. That is a useful answer to the no-rewrite question: not a universal guarantee, but a tested account of how much of this application can stay and what must change for it to run safely.

Editorial disclosure
This article is based on documented sources and editorial analysis. Proposed evaluation examples are not independently measured benchmark results.

Sources & further reading

Use this guide as a starting point. Define and test the requirements of your own workload before selecting a product.

Related research