Forum Discussion
Mirrored Snowflake Database Storage
- 3 months ago
Hey Lanceometer ,
You have diagnosed it right, this is a source-side pattern, not a Fabric bug.
- Why storage grows: Fabric mirroring uses Snowflake Streams (CDC). A nightly full rebuild makes every row look new, so a fresh set of Parquet files gets written each cycle while older Delta versions stick around
- 1 day retention: It's only a threshold for when old files become eligible for cleanup, not guarantee that vacuum runs daily
- Manual VACUUM: Not supported on a mirrored database. Maintenance is handled internally (OPTIMIZE runs roughly every ~50 writes per table)
Next steps:
- Real fix: ask the Snowflake team to switch to incremental MERGE/UPDATE instead of a nightly rebuild
- Otherwise, skip mirroring for this table — use a OneLake shortcut or a pipeline load
- Keep retention at 1 day and give it a couple of cycles to plateau
Useful links:
Mirroring Snowflake in Fabric
VACUUM Delta tablesFound this useful? A quick Kudos goes a long way.
Got what you needed? Marking this as the Accepted Solution helps others land on the right answer faster when they search for the same thing
Hello Lanceometer
Yes, your asumption is correct. Fabric keeps old recods as backup. to answer your question, you can vacumm the old files daily but it does not automatically delete the files. So, Delat tables required explicit vacumme. you can clean up them manullay. Pls read this thread https://learn.microsoft.com/en-us/fabric/data-engineering/delta-lake-vacuum?tabs=sparksql it might helps you.
Thank you!!
Did I answer your question? Mark my post as a solution!
Proud to be a Super User!