That is a very insightful observation. You are correct: if the data entry point is still a legacy OLTP system like Oracle, the
ingestion bottleneck (locks and contention) remains on that source system.
However, the "core solution" offered by StarRocks isn't just about synchronizing Oracle; it’s about
re-architecting the data flow to remove the legacy system from the critical path of high-volume data.
Here is how these three features actually solve the bottleneck you described:
1. Bypassing the OLTP System (Stream & Routine Load)
Legacy architectures often forced
all data through an OLTP database (like Oracle) because that was the only way to ensure data integrity and query capability.
*
The Shift: With
Routine Load (Kafka) and
Stream Load (HTTP), you can send high-volume, real-time data (like clickstreams, IoT events, or logs)
directly to StarRocks, bypassing the OLTP system entirely.
*
Result: The OLTP system stays focused on small, mission-critical transactions (e.g., payments), while the "heavy lifting" of massive data ingestion and analytics is handled by StarRocks.
2. Handling "External" Updates (Primary Key Table)
Even if you
do use CDC to sync from Oracle, the
Primary Key Table solves the bottleneck on the
analytical side:
*
The Problem in Legacy: In systems like Exadata, running complex analytical queries while simultaneously performing massive updates causes severe "lock contention." You often have to choose between fresh data or fast queries.
*
The StarRocks Solution: StarRocks uses a
Delete+Insert strategy with a
Persistent Index. It handles the incoming stream of updates in the background without locking the table for readers. You can query the data at high speeds even while millions of rows per second are being updated.
3. Schema Flexibility (JSON Real-time Ingest)
In an Oracle-first world, adding a new field to your data requires an
ALTER TABLE
and a schema migration, which can lock large tables for hours.
*
The Shift: Native JSON and
Flat JSON allow you to ingest semi-structured data directly. StarRocks can automatically parse and optimize this JSON into a columnar format on the fly.
*
Result: This removes the "Schema Rigidity" bottleneck. Developers can iterate on application data without waiting for a DBA to update the Oracle schema and the subsequent ETL pipeline.
Summary: Where is the source of truth?
*
For existing business data: You use CDC (via Flink/SMT) from Oracle. Yes, Oracle is still the source, but StarRocks ensures that
your analytical queries don't slow down Oracle and that the data in StarRocks is only milliseconds behind.
*
For new, high-scale data: You use
Stream Load or
Routine Load to bypass the OLTP system entirely. This eliminates the "Oracle bottleneck" because the data never touches the legacy system.
In short, these features allow StarRocks to act as an
Operational Data Warehouse that can either sit
beside your Oracle system (offloading the query load) or
replace it for high-scale, real-time data streams.
References
•
loading/Loading_intro.md
•
integrations/loading_tools/SMT.md
•
table_design/table_types/primary_key_table.md
•
loading/RoutineLoad.md
References
•
loading/Loading_intro.md
•
loading/loading_introduction/feature-support-loading-and-unloading.md