Guide / Evaluation essentials

OceanBase and Kafka: Current State, Replay, and the History You Need

A company wants one dependable view of a customer's current status and a way to understand earlier changes. A database proposal and an event-streaming proposal can both appear…

A company wants one dependable view of a customer’s current status and a way to understand earlier changes. A database proposal and an event-streaming proposal can both appear to satisfy the request. The discussion becomes clearer once the team distinguishes current state, retained change events, and the history a business actually needs.

OceanBase and Kafka should not be compared as though persistent storage automatically means the same retained information. The application design determines which component owns a decision and which earlier information remains available afterward.

The right outcome may involve both systems. It may also involve a bounded change to one responsibility rather than replacing an entire architecture.

Kafka retention is a deliberate design choice

Apache Kafka’s 4.3 design documentation describes time- or size-based retention and log compaction. Compaction can remove older updates for a key while supporting reconstruction of its later state. Deletes and cleanup behavior also affect what remains.

That is different from assuming a topic always contains every event forever. It is also different from claiming Kafka cannot retain durable information or participate as a source of truth in a deliberately designed application.

The proposed retention arrangement needs to match the intended use. A consumer rebuilding a current view and a reviewer investigating every historical change may need different retained information, even when both read from Kafka.

Define the database’s retained business record

OceanBase Enterprise documents Oracle/MySQL compatibility routes. These provide a specific reason to assess it for an established relational application that maintains business state and associated transactional behavior.

The application still chooses what history to retain. Updating a current-status row does not automatically produce a complete business history table. A database offering durable transactions should not be mistaken for a policy that preserves every prior business interpretation.

For an OceanBase modernization, identify the current records and historical records the existing application depends on. Validate those responsibilities explicitly rather than assume a new database engine decides them.

Choose the history before choosing the storage role

Consider a hypothetical customer-service application. A customer changes a contact preference several times. Support needs the current preference for today’s interaction, while a business investigation may ask which preference applied when an earlier communication was approved.

A compacted representation suitable for rebuilding the latest preference may not retain every intervening update. A current relational row alone may have the same limitation for that investigation. The requirement is about the selected representation, not a universal defect in either product.

Also ask whether a retained change explains its origin. A customer-requested update and an application-generated correction can produce the same final value while requiring different explanations. Keeping the value alone may not preserve the context needed for that distinction.

Business need Information to retain Question for the design
Current customer state The accepted current value Which component is authoritative now?
Rebuild a downstream view Sufficient accepted updates or a suitable starting state What can a recovering consumer actually obtain?
Investigate a prior decision Relevant earlier state and decision context Does the retained information answer that question?
Correct an earlier mistake The correction and its business treatment Which views and decisions change afterward?
Remove unneeded information An approved retention treatment Which copies and histories remain?

This table is a requirements framework. It does not prescribe a Kafka configuration or claim that a particular database schema is already a compliant historical record.

Demonstrate reconstruction and investigation separately

First, demonstrate rebuilding the intended current view from the proposed retained information. The team should explain its starting point, the updates it applies, and the condition under which the rebuilt view is ready for use.

Then ask a historical business question. Identify the earlier state or decision context required and show where it is retained. A successful current-state reconstruction does not independently prove that the historical question can be answered.

Include a correction after the original change. Decide whether users should see the originally recorded state, the corrected interpretation, or both with an explanation. That decision belongs to the business process and should be implemented deliberately in the selected design.

If OceanBase and Kafka coexist, name their respective authorities. An application should not leave users guessing whether a row, an event, or a downstream view represents the accepted state at a particular moment.

Compare complete responsibilities, not a storage label

Kafka deserves consideration for distributing and retaining events under a suitable design. Its actual topic policies and consumer expectations need to be part of the proposal.

OceanBase deserves assessment for the relational application’s current and historical records when its selected compatibility route fits. Its case should identify the transactional application responsibilities it can retain or improve.

The stronger architecture explains current authority, reconstruction, and historical investigation separately. That lets the organization choose complementary roles without promising that one persistent component automatically supplies every kind of business history.

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