This document is written from the perspective of Microsoft Azure, Cloud Scale Analytics, and CSA Loom. Any description of third-party or competing products, services, pricing, or capabilities is derived from publicly available documentation and sources believed accurate at the time of writing, and is provided for general comparison only. We do not claim expertise in, or authority over, any non-Microsoft product or service; the respective vendor's official documentation is the authoritative source for their offerings, which may change over time. Nothing here is intended to disparage any vendor — where a competing product has genuine advantages, we aim to note them honestly. Verify all third-party details against the vendor's current official documentation before making decisions.
Captured 2026-05-26 by catalog agent. Source: Fabric Mirroring docs (learn.microsoft.com/fabric/mirroring/**) + live MirroredDatabaseEditor in apps/fiab-console/lib/editors/mirrored-database-editor.tsx.
Fabric Mirroring continuously replicates an external operational database (Azure SQL DB, Azure SQL MI, Azure DB for PostgreSQL / MySQL, Snowflake, Cosmos DB, Azure Databricks Unity Catalog, Oracle, SQL Server 2025) into OneLake as Delta Parquet, with near-real-time CDC and a SQL Analytics endpoint for read-only T-SQL. Zero-ETL, zero capacity charge for the replication compute itself. Fits the "land + serve" leg of the medallion flow: source → mirrored Delta → downstream Lakehouse/Warehouse/PBI consumers.
Auto vs Manual + table multi-select tree — currently no pre-create table selection; mirrors are created against the whole DB. Needs Catalog → Schema → Table tree with 1,000-row multi-select and include/exclude lists.
Databricks Unity Catalog source — not in the card grid; needs catalog/schema/table tree + "auto-sync future catalog changes" toggle
MySQL + Oracle sources — not exposed in source picker
Latency metrics surface — current table shows rows + last sync but not batch latency; needs ReplicatorBatchLatency from workspace monitoring KQL
Replication mode toggle — start/stop only; no scheduled-batch vs continuous distinction
SQL Analytics endpoint launcher — needs a button/tab to open the read-only T-SQL editor (warehouse editor) against the mirrored DB
Lakehouse shortcut helper — "Create shortcut in Lakehouse X" action for downstream consumption
Edit table selection post-create — adding/removing tables after the mirror is live
Deployment pipeline data-source rules — not in scope today
NotSupported per-table reason tooltip — Fabric shows an info icon explaining the unsupported data type; Loom shows raw status only
Loom already uses the real Fabric Mirroring REST API for all CRUD, so this is rare among Loom editors: the backend gap is not "replace mocks with Azure"; it's "deepen the wizard + expand source coverage". Concretely:
Create: POST /v1/workspaces/{ws}/mirroredDatabases with definition.parts[0].path = mirroring.json (inline-base64). Loom's mirroringDef JSON shape today is { properties: { source: { type, typeProperties: { server, database } }, target: { type: 'MountedRelationalDatabase', typeProperties: { format: 'Delta' } } } } — extend typeProperties to include connectionId, tables[], mountedTables[] for table-level selection.
Connections: POST /v1/connections to create the source-side connection first; persist connectionId and pass into mirroringDef.properties.source.typeProperties.connectionId. Today Loom hard-passes server/db, which only works for very simple shapes.
List/Get: GET /v1/workspaces/{ws}/mirroredDatabases + GET /v1/workspaces/{ws}/mirroredDatabases/{id} — wired
Status: GET /v1/workspaces/{ws}/mirroredDatabases/{id}/getMirroringStatus — wired
Per-table status: GET /v1/workspaces/{ws}/mirroredDatabases/{id}/getTablesMirroringStatus — wired
Start / Stop: POST .../startMirroring and POST .../stopMirroring — wired
Latency telemetry: when workspace monitoring is enabled, query the Monitoring KQL DB MirroredDatabaseTableExecution table for ReplicatorBatchLatency — needs a new BFF route, e.g. GET /api/items/mirrored-database/{id}/latency?workspaceId=...&window=1h
SQL Analytics endpoint discovery: GET /v1/workspaces/{ws}/mirroredDatabases/{id} returns the SQL endpoint connection string under properties.sqlEndpointProperties — feed it into the existing warehouse editor for T-SQL
Source database with mirroring prerequisites enabled — e.g. for Azure SQL DB: System Assigned Managed Identity + ALTER DATABASE ... SET CHANGE_TRACKING = ON; for MySQL: log_bin=ON, binlog_row_image=FULL, binlog_format=ROW; for Snowflake: streams + suitable warehouse
Source connection credentials in Fabric Connections (or KV reference)
VNet data gateway or on-prem data gateway if source is private
Loom UAMI SP added as Member/Contributor in the Fabric workspace
Workspace monitoring enabled (optional) for ReplicatorBatchLatency telemetry