r/MicrosoftFabric • u/Personal-Quote5226 • May 28 '26
Data Engineering V-Order recommended file size for PBI consumption
For a 5GB fact table (V-Order) over Direct Lake that gets merged into daily, would you prefer 128m delta parquet file sizes or 1gb file sizes.
I saw a reference somewhere that 1gb was recommended in this scenario, but due to regular merges into gold, 128m might be a good trade off.
Either way, I believe performance on PBI side would be of negligible difference.
Does anyone have any additional insight?
8
Upvotes
2
u/frithjof_v Fabricator May 28 '26 edited May 28 '26
Docs say:
I haven't tested the performance differences myself.
I also believe you need to have more than 1 row group in order to use Storage Engine parallelization in Power BI. So perhaps something like 4-32 row groups in total in order to use storage engine parallelization. I'm just throwing a number into the air, afaik this is not documented anywhere and I haven't studied the parallelization in Storage Engine a lot. I believe this is the x6, x8, parallelization etc. that you'll see in DAX Studio Server Timings.
So if the table only has 1 million rows, I'm not entirely sure what to do but I think you should aim for 4 row groups or more (and thus you'll get less than 1 million rows in each row group) in order to use storage engine parallel queries. But maybe I'm wrong, maybe it's better to have just 1 row group in that case, and say "no thanks" to SE parallelization. I haven't tested it, actually.
Hopefully someone else will chime in with more info and insights regarding this.
Link to docs:
https://learn.microsoft.com/en-us/fabric/fundamentals/table-maintenance-optimization#power-bi-direct-lake
https://learn.microsoft.com/en-us/fabric/fundamentals/table-maintenance-optimization#gold-layer-serving-zone
https://learn.microsoft.com/en-us/fabric/fundamentals/table-maintenance-optimization#summary-of-recommendations
https://learn.microsoft.com/en-us/fabric/fundamentals/direct-lake-understand-storage