Forum Discussion
Medallion Archtecture
- 1 month agoHi icassiem,No silly questions at all. These are exactly the right questions when you start thinking about data architecture instead of only solving one report.The goal is to avoid a spaghetti architecture later.I would separate two things:1. What you know today2. What might happen laterDo not over-design only based on assumptions. But also do not name everything so narrowly that it becomes hard to grow.For your case, I would choose a balanced approach:Workspace:ws-analytics-devws-analytics-prodThen keep the domain in the item/table names:lh_silverwh_goldTables or schemas:silver_product_customersilver_product_salesgold_dim_customergold_fact_salesIf Product becomes big enough later, or IT/Finance needs different ownership/security/lifecycle, then split into domain workspaces later:ws-product-analytics-prodws-it-analytics-prodSo yes, start with what is factual today, but use naming that does not block future growth.For the medallion question:Yes, it is still medallion even if the physical items are different.Medallion is a logical pattern, not a rule that every layer must be the same technology.Example:Silver = LakehouseGold = WarehouseOptional forecasting output = Gold Lakehouse or ML output tableThat is still a medallion architecture because the logic is:Source → cleaned/standardized → curated/business-readyI would not create lh_gold unless you have a clear need for it.For now, I would keep it simple:API / JSON / CSV→ lh_silver→ wh_gold→ semantic model→ Power BI / Copilot narrativesAdd lh_gold later only if forecasting/Python needs curated Delta output before loading to the Warehouse.Architecture criteria should be based on:- ownership- security- lifecycle- performance- data reuse- maintainabilityNot only “possible future request”.
Hi icassiem,
You are on the right track. In Microsoft Fabric, a common approach is to keep the Silver layer in a Lakehouse using Delta tables, especially for API and semi-structured data.
For the Gold layer, you can move to a Fabric Data Warehouse if your goal is to build curated data marts, support SQL analytics, create forecasting tables, and leverage Copilot capabilities. Many organizations use a hybrid approach:
Silver: Lakehouse (Delta)
Gold: Fabric Data Warehouse
For naming conventions, I recommend organizing workspaces by business domain or product area rather than by medallion layer. For example:
Workspace: ProductAnalytics
lh_product_silver
dw_product_gold
semantic_product_sales
nb_product_forecasting
This provides flexibility for future expansion and avoids creating too many workspaces, which is especially important with an F2 capacity.
For your use case (API ingestion, semi-structured data, analytics, and forecasting), the following architecture works well:
API/Semi-structured Data -> Silver Lakehouse -> Gold Fabric Data Warehouse -> Power BI/Copilot/Python Forecasting
This approach aligns with current Microsoft Fabric best practices and provides good scalability for future requirements.
Regards,
Ankit