3 weeks ago
Hi everyone,
Iโm currently evaluating Lakeflow Connect for our ingestion layer. While the setup for replicating source databases into the Lakehouse is remarkably streamlined, Iโm looking for operational best practices from those of you using it in production.
Iโm interested in hearing how teams are architecting around the "black box" nature of managed ingestion versus the need for strict, governed schema enforcement downstream.
Thanks!
3 weeks ago
@Khasim_1 which source are you using? The details vary by connector. For SQL Server, new columns are ingested automatically by default, but renames and type changes require a full refresh of the affected table. Selecting a previously excluded column also needs a refresh to backfill its historical values.
Auto-full-refresh policies can automate recovery from unsupported ddl, but still require a new snapshot. Full-refresh windows control when snapshots start, not the source read rate.
For a large initial load, onboarding tables in stages and monitoring source CPU/IO with the dba is a reasonable starting point.
Your Bronze > Silver approach follows a good practice - connect ingests raw data, with transformations and expectations in the downstream declarative pipeline. I would include downstream recovery in your refresh tests too.
3 weeks ago
Great question. I would also emphasize treating the Lakeflow Connect output as a stable ingestion boundary rather than coupling downstream transformations directly to the source schema.
In practice, I prefer keeping the managed connector focused on landing and replicating source data into Bronze, and then applying schema validation, business rules, and expectations in a separate Lakeflow Declarative Pipeline for Silver.
This separation becomes especially valuable during schema evolution or a full refresh, because the ingestion layer can recover independently while downstream consumers remain governed by their own contracts and quality rules.
I would also include full-refresh scenarios in production testing. A connector may recover correctly, but the important question is whether downstream pipelines can also handle the refreshed table without breaking incremental processing or historical logic.
For large SQL Server sources, Change Tracking can also be worth considering when the tables have primary keys, since it can reduce the impact on the transactional source compared with CDC.
Curious to hear how others are handling downstream schema contracts when source teams make breaking changes.
3 weeks ago
Here's what's worked for us. Behavior varies by connector, so check your source's feature availability table.
1. Schema evolution
It depends on the source. For SQL Server, new and deleted columns are handled automatically, but data type changes aren't, and column renames require a full refresh. To avoid manual restarts, enable the auto full refresh policy, which recovers from unsupported schema changes and lets you schedule when snapshots run. One caveat: if history tracking is enabled, a full refresh erases that history, so disable it for SCD2 tables. Downstream, give Silver an explicit column contract (no SELECT *) so source changes surface in one place.
2. Backfills
There's no throttle setting. Instead, use the full refresh window to push snapshots into off-peak hours, and onboard large tables in waves. Don't modify the pipeline mid-snapshot: adding tables cancels the current snapshot and starts a new one. Also extend CDC log retention on the source during the backfill.
3. Data quality
Keep the Lakeflow Connect table as raw Bronze, since the ingestion process itself isn't customizable. Put all expectations in a Silver pipeline: FAIL UPDATE for contract breaks, DROP ROW or quarantine for row issues. For shift-left, use column selection to keep unneeded or PII columns out of Bronze, plus a scheduled schema drift check that alerts before Silver runs.
Which source database are you using? That changes the schema evolution answer quite a bit.
3 weeks ago
The point about keeping Silver on an explicit schema contract is really useful, especially during full refreshes. Iโd also keep an eye on CDC retention during large backfills so nothing gets missed.