Dynamics 365 (Dataverse) integration with Fabric, and virtual tables over Fabric tables

Description

Leverage first class integration with Dynamics 365 / Dataverse and other business data with Fabric to generate rich insights.

Key Takeaways

My Notes

Action Items

Slides

Proven Fabric
Architecture Patterns
to Minimize Refactoring
From 20+ Implementations: The
Decisions, The Traps, The Patterns
Matthias Falland
Matthias Falland
Microsoft Data Platform MVP
Creator of www.fabricperiodictable.com
Trusted Advisor for Data Platforms
Youtube: www.youtube.com/@The-Trusted-Advisor
LinkedIn: www.linkedin.com/in/matthias-falland
100+ workspaces.
16 per subject area.
$90K to rebuild views for a migration they didn't need.
– r/MicrosoftFabric, r/PowerBI
fabricperiodictable.com
The Decisions
Every one of these was reasonable.
"One Workspace Is Simpler"
• One workspace for everything – less overhead, faster to set up, everything in
one place
• Team 2 joins. Team 3. 200 items. A test notebook consumes all CUs.
Production goes blank.
• Moving items between workspaces = shortcuts break, permissions reset,
pipelines fail. No bulk tool exists.
"Folders Are Good Enough"
• Three folders, three layers – looks exactly like every medallion diagram
• BI team can't access Gold without seeing Bronze. Bronze ingestion starves
Gold queries. SQL views trigger Direct Lake fallback silently.
• Splitting later means rewriting every notebook path, every shortcut reference,
every pipeline
"Copy for Sharing – It's Fast"
• Copy the data – Marketing needs it today, not after a three-week governance
review
• Five copies. None in sync. Sales updates a customer, Marketing sees it in days
– or never. GDPR deletion: which copies?
• The data owner loses control. In regulated industries: compliance risk, not just
technical debt.
The Traps
Here's what breaks – and you won't see it coming.
[T1] Direct Lake Silent Fallback
• SQL views → fallback. SQL Endpoint RLS → fallback. Calculated columns →
fallback.
• 0.5 seconds → 30 seconds. No error. No warning. It just gets slow.
[T2] Capacity Throttling Cascade
• Bronze ingestion pushes through all four stages. Executive dashboards
stop working.
• Warehouse ops = background workload = 24h CU smoothing. Spark =
interactive = immediate CU impact.
[T3] Deployment Pipeline Binding
• The semantic model arrives in Test …
still pointing to Dev data. Nobody
notices for weeks.
• Must manually create datasource
rules. Also affects: gateway
associations, parameterized
connections, item pairing.
[T4] Workspace Migration Is Architectural
Surgery
• Every month you wait to split, migration cost grows quadratically. Not linearly.
• Dataflow Gen2 creates INVISIBLE staging items tied to the capacity region.
Delete all DFG2 items first. Then find the now-visible staging items. Then
reassign.
The Patterns
Three pattern families, each preventing one trap family.
Pattern 1: Domain + Workspace Topology
• Pattern 1: Workspace
Topology – prevents
Traps 2 (Throttling), 4
(Surgery)
[P1] Naming Convention: The Most Underrated
Architecture Decision
• (1) "Which workspace do I deploy to?" ·
(2) "Which workspace did this 3 AM alert
come from?" · (3) "Which workspaces
can I clean up?»
• Domains without naming conventions =
governance theater. The label says
'Sales.' The workspace named 'ws-test-3'
says chaos.
[P1] Decision Matrix + Key Principle
• 1-3 teams low sensitivity → MultiWS single capacity.
• 3-10 teams dept-level → Multi-WS
multi-capacity.
• 10+ regulated → Multi-WS multicap + domains. SaaS → Tenantper-WS in domains.
Pattern 2: Medallion Implementations
• A: Single Lakehouse + Schemas
(POC only).
• B: Separate Lakehouses per
workspace (Microsoftrecommended).
• C: Hybrid LH + Warehouse Gold
(enterprise + SQL features).
• Prevents Trap 1 (Direct Lake
Fallback)
[P2] The Direct Lake Trap Solution
• No SQL views = no fallback. RLS on semantic model = no fallback. Physical
tables via CTAS = Direct Lake stays in Direct Lake mode.
• One more Fabric item to manage. Worth it: no production performance cliff.
[P2] Why Silver Is the Layer That Saves Your
Architecture
• Design Silver first. Not Bronze, not Gold. Silver is your foundation.
• Silver is the layer where source system changes get absorbed before they
reach Gold consumers.
Pattern 3: Cross-Workspace Sharing
Prevents Trap 3 (X-Pipeline Binding)
The Shortcut costs nobody talks about
• Consumer pays, not source
• Hub barely registers reads – spokes pay
• Paused source capacity: data still accessible
via shortcuts (OneLake storage persists)
• "Cold storage" workspace pattern
• "'Zero-copy' doesn't mean 'zero-cost'. It means
the CONSUMER always pays."
[P3] Sharing Patterns
[P3] Sharing Patterns
[P3] Sharing Patterns + The Inbox Pattern
• But what about writeback? Finance finds data quality issues in Sales' data. How does Finance send
corrections BACK without write access?
• The Inbox Pattern: Finance publishes corrections as THEIR OWN data product. Sales reads via readonly shortcut. Both shortcuts read-only. Neither domain writes to the other's storage. Governance
chain unbroken.
Full Reference Architecture
Trap 4 prevented
(on topology
structure)
Trap 3 prevented
(Deployment
Pipeline Binding)
• Check upward, flow
downward freely – data
flowing UP in exposure
needs governance
checkpoints. Data
flowing DOWN into more
protected zones flows
freely.
Trap 2 prevented
(Capacity Throttling
Cascade)
Trap 1 prevented
(Direct Lake Silent
Fallback)
Full Reference
Architecture II
• Now we combine
Pattern 2 (Medallion)
with Pattern 3 (Sharing)
for X-Domain-Sharing
based on data
products
• And we have a zone
model for compliance
The Framework
Five questions. Thirty minutes. Some insights.
Questions 1–3: Teams, Sensitivity, Gold Layer
• "How many teams will touch
Fabric?" → 1-2: single capacity. 3-5:
multi-WS multi-cap. 5+: add
domains. → Prevents Decision 1
• "What breaks if the wrong person
sees this data?" → Nothing much:
WS-level security.
Regulator/audit/lawsuit: separate
WS + RLS + Purview.
• "Does Gold need SQL views, RLS, or
calculated columns?" → Yes:
Warehouse + Direct Lake on
physical tables. No: Lakehouse
Gold works. → Directly prevents Trap
Questions 4–5: Sharing Model + Zone
Architecture
• Key insight: producing data alone
does NOT require Mesh — all
domains produce via Data Product
LH. Mesh is only needed when
domains need to send
corrections/enrichments directly to
each other.
• "Do you have data that can't leave
the building?" → No: Fabric-only
architecture. Yes: Zone architecture