Forum Discussion
Modeling for Multiple Granularities and 1000+ Customers (OneLake layer)
- 11 months ago
Hi jaryszek,
When organizing data in a shared Lakehouse by tenant_id and date, files are stored in a nested folder structure like:
/tenant_id=<tenant_id>/year=<yyyy>/month=<mm>/day=<dd>/.
Fabric automatically manages file names and partitions when using Spark or Pipelines. You can view the folder structure by selecting “View Files” in the Lakehouse UI. This method enables scalable and efficient management of data across multiple customers and granularities.Load data to Lakehouse using partition - Microsoft Fabric | Microsoft Learn
Thank you.
Hello !
Thank you for posting on Fabric community.
For 1k+ customers in Fabric (Direct Lake only), you may choose small number of shared Lakehouses by domain over one per customer where you store all tenants in shared delta tables partitioned by tenant_id and date and keep it with OPTIMIZE/Z-ORDER.
You can split into separate lakehouses and very large tenants.
You can use multi-grain facts where you keep a detailed daily or transaction fact with materialized daily and monthly aggregates and refresh them with Fabric notebooks or data engineering pipelines.
You can publish one baseline semantic model with conformed dimensions and apply dynamic RLS over a security_user_customer mapping so each user only sees their tenants and keep the reports with live connection so you deploy and manage the dataset once.
- jaryszek11 months agoSuper User
thank you.
Can you elaborate this?
"shared Lakehouses by domain over one per customer where you store all tenants in shared delta tables partitioned by tenant_id and date and keep it with OPTIMIZE/Z-ORDER."
what doest it mean shared lakehouses which store tenants inside?- v-saisrao-msft11 months agoCommunity Support
Hi jaryszek,
Thank you AmiraBedh, for your insights.
Use a single shared Lakehouse to store detailed data, partitioned by tenant_id and date. To query performance, include lightweight pre-aggregated tables, like monthly or rolling 7-day summaries. Improve efficiency by clustering on tenant_id, partitioning by date, and running OPTIMIZE regularly. For very large customers, consider separate lakehouses. This strategy ensures scalability, efficiency, and simpler management.
Understand star schema and the importance for Power BI - Power BI | Microsoft Learn
Direct Lake overview - Microsoft Fabric | Microsoft Learn
Thank you.
- jaryszek11 months agoSuper User
"Use a single shared Lakehouse to store detailed data, partitioned by tenant_id and date. "
Please describe exactly how files names should look like? Can you please provide patterns?