Forum Discussion
Public Preview Consideratation - Data Mirroring
- 10 months ago
Hi XhevahirMehalla ,
Thanks for your detailed follow-up. Let me clarify and summarize the solution so you have a clear picture for your diagram and next steps.
No separate Kafka setup is required Azure Event Hubs acts as a Kafka-compatible broker, so Debezium can publish directly to Event Hubs without maintaining your own Kafka cluster. You will need a small Azure VM or container to run the Debezium Oracle connector. This VM must have secure network connectivity to your OCI Oracle database, either via VPN, ExpressRoute, or a secure public endpoint, and the connector will use the CDC/log-mining user to access redo logs. On the Oracle side, ensure supplemental logging is enabled, the database is in ARCHIVELOG mode, and a dedicated user with proper privileges exists for Debezium.
Once Debezium is running, it reads changes from Oracle redo logs and streams them as JSON events (inserts, updates, deletes) to Event Hubs.
From Event Hubs, you have flexibility depending on your target. If you want to land data in Fabric Lakehouse, a lightweight consumer process (e.g., Azure Function, Synapse notebook, or Databricks job) can read events and write them into Delta tables in OneLake.
Once in the Lakehouse, your Fabric workspace and Power BI reports can directly query the data. If your goal is Azure SQL Database without Fabric, a small Stream Analytics job or consumer app can read the Event Hubs events and apply the changes to your tables, enabling Power BI or other reporting layers to access them as usual.
Regarding monitoring and correctness: the Azure VM running Debezium should be continuously available (Azure Monitor can help), and Debezium preserves event ordering per table and primary key. Downstream processes must handle idempotency to avoid applying the same change twice and ensure correct order when processing events from multiple tables or partitions. Planning for retries, restarts, and error handling is essential, but these are standard practices in any CDC pipeline.
Overall, this approach is cost-effective, avoids expensive GoldenGate licensing, and is robust enough for production workloads like your digital banking statements scenario. Starting with a proof-of-concept on one table and one Event Hub throughput unit is recommended to validate connectivity, latency, and processing before scaling to all three tables. This setup allows a hybrid approach you can keep your existing Synapse/Azure SQL solution for production stability while experimenting with Fabric Lakehouse for future migration, and cross-querying between these sources is fully supported if needed.
Thank you,Tejaswi.
- You may use OneLake, Dataflow gen2, Notebook, SQL Datawarehouse(for mirroring) from Fabric to proceed with first step.
- If you are planning to process the real time data, you can choose data mirroring, with zero ETL, from the Azure SQL DB, Azure Cosmos DB and so on. Pls go through this artcicles Announcing the Public Preview of Mirroring in Microsoft Fabric | Microsoft Fabric Blog | Microsoft Fabric, Announcing Mirroring Azure SQL Database in Fabric for Public Preview | Microsoft Fabric Blog | Microsoft Fabric
- Replace your Azure Synapse pipleines with Notebooks/Datflows for transofmration, use lakehosue or warehouse for structured storage.
- Power BI you can use as it's natively available in Fabric.
- Since you are using Azure DevOps, here yiu maynuse Fabric Git inetgration to manage your workspace items.
Overview of Fabric Git integration - Microsoft Fabric | Microsoft Learn
Hope it may helps you.
Thank you!
Did I answer your question? Mark my post as a solution!
Proud to be a Super User!
- XhevahirMehalla11 months agoHelper IV
Thanks very useful however I am more interested on Oracle database on OCI (cloud) as the sourcer of data.
At Vienna conference it announced Data Mirroring for Oracle too.
How safe is this to use a product in Prublic preview?
Another thing is:
If I can't migrate to Fabric - how can do something similar - produce real time reports using Azure SQL database as target DB and source again Oracle DB on OCI as the source.
Can Event Hub help and how this will be used with Kafka? how much work I need to do to setup this?
Do I need to speak toi someone else withing MSFT ?
Thanks