Designing a Microsoft Fabric Architecture That Scales
Workspaces, lakehouses, warehouses and Direct Lake — practical decisions for building on OneLake without creating a new mess.
Lakehouse or warehouse? Often both
Fabric gives you two first-class engines over the same Delta tables in OneLake. The lakehouse suits Spark-based ingestion and transformation of semi-structured data; the warehouse suits T-SQL teams building dimensional gold layers with full DML support.
A pattern that works well: bronze and silver in a lakehouse processed with notebooks, gold in a warehouse built with T-SQL, and shortcuts instead of copies wherever data needs to be shared.
Design gold for Direct Lake
Direct Lake reads Delta files directly into the VertiPaq engine, removing scheduled import refreshes. It works best with materialised, narrow tables. SQL views in the model force a fallback to DirectQuery, which quietly erases the performance benefit.
- Materialise gold tables rather than exposing views
- Run OPTIMIZE with V-Order to keep files large and few
- Keep high-cardinality text columns out of fact tables
Workspaces and deployment
Separate workspaces per environment, connect them to Git from day one and promote with deployment pipelines. Retrofitting source control onto a workspace that has grown organically is far more painful than starting with it.
- #Fabric
- #OneLake
- #Direct Lake