Sync patterns guide

Every source table syncs into the Lake through one of seven load patterns. The Lake's built-in guide, Seven ways data lands in your Lake, walks through each pattern with a business example, its trade-offs and an animated demo. Open it while you choose a Sync Type, or any time you want to check what a pattern does with deletes, history and storage.

Open the guide

  1. In the Lake tree, double-click the table, or right-click it and choose Edit.
  2. Open Table > General.
  3. In the Synchronization tile, click Sync patterns guide.

The guide opens over the form. It is a reference dialog: reading it changes nothing on your table. To set a pattern on a table, pick a Sync Type on the same step; see Configure a table and Choose a sync type.

Move around the guide

The seven patterns

Each pattern carries two or three badges. Badges that start with LOAD say what each run pulls from the source; badges that start with WRITE say how the rows land in the Lake.

PatternBadgesWhat happens on each run
Full reloadLOAD · ENTIRE TABLE, WRITE · ATOMIC REPLACEPulls the entire source table, then swaps it with the Lake table as one atomic operation. If a load fails midway, the old data stays. Deletes propagate: what is gone in the source is gone in the Lake.
Incremental reloadLOAD · LAST X DAYS, WRITE · PARTITION SWAPPulls only the lookback window and replaces those partitions as whole blocks, so updates and deletes inside the window are reflected. Outside the window, the pattern is blind: older changes are never picked up.
Full reload · upsertLOAD · ENTIRE TABLE, WRITE · MERGE BY KEY, DELETES NEVER PROPAGATEPulls the entire table and merges by key: existing rows update, new rows insert. Rows deleted in the source stay in the Lake; once a record lands, it stays.
Incremental · upsertLOAD · LAST X DAYS, WRITE · MERGE BY KEY, DELETES NEVER PROPAGATEThe window pull of incremental reload, merged by key instead of swapped. A row deleted in the source inside the window stays in the Lake, where incremental reload would drop it.
Full snapshotLOAD · ENTIRE TABLE, WRITE · APPEND VERSION, SNAPSHOT FROM / TOAppends a full copy of the table as a new version on every run, so you can read it as it looked on a past date. Storage grows by the full table's size on every run.
Incremental snapshotLOAD · LAST X DAYS, WRITE · APPEND VERSION, SNAPSHOT FROM / TOVersions only the part of the table the window covers, so a large table keeps change history without copying its untouched rows.
OnetimeLOAD · ONLY WHEN EMPTY, WRITE · INSERT ONCELoads the table only while it is empty, and skips every later run. To load it again, truncate the Lake table (see Run, stop and troubleshoot loads).

A few things the cards add:

Note

Snapshot patterns version rows with Snapshot From and Snapshot To. The current version shows 2099-12-31 23:59:59.999 in Snapshot To, and a previous version is closed at exactly one millisecond before the next snapshot starts, so version ranges never overlap and never leave a gap.

The cheat sheet

The last item in the guide's list, Compare, holds the cheat sheet Which pattern do I need?. It compares all seven patterns in one table and colours the answers that flag a caveat.

PatternPulled per runDeletes propagateKeeps historyStorage growthNeeds date column
1 · Full reloadEntire tableYesNoFlatNo
2 · Incremental reloadLast X daysOnly in windowNoFlatYes
3 · Full upsertEntire tableNeverDeleted rows onlySlowNo
4 · Incremental upsertLast X daysNeverDeleted rows onlySlowYes
5 · Full snapshotEntire tableNeverEvery versionFast - size × runsNo
6 · Incremental snapshotLast X daysNeverRecent versionsModerateYes
7 · OnetimeOnce, then nothing-NoFlatNo

Patterns and sync types

The guide uses short names; the Sync Type list on a table uses the full ones. They match like this:

Guide cardSync Type on a table
Full reloadFull Reload (Truncate Insert)
Incremental reloadIncremental Reload (Truncate Insert)
Full reload · upsertFull Reload (Upsert)
Incremental · upsertIncremental (Upsert)
Full snapshotFull Snapshot
Incremental snapshotIncremental Snapshot
OnetimeOnetime

The loop type, Incremental Reload Loop (Truncate Insert), has no card of its own in the guide: it is the loop variant of incremental reload and walks the window in steps of Loop Increment. Set a type on Configure a table, and compare them all on Choose a sync type.

Questions, answered

Where do I find the sync patterns guide?

Open any table's popup and go to Table > General. In the Synchronization tile, click Sync patterns guide. The button sits with the sync settings, so you can open the guide while you pick a Sync Type.

What do the badges on each pattern mean?

Badges that start with LOAD say what each run pulls from the source: the entire table, the last X days, or only while the table is empty. Badges that start with WRITE say how rows land in the Lake: atomic replace, partition swap, merge by key, append version or insert once. Two extra badges add detail: DELETES NEVER PROPAGATE on the upsert patterns and SNAPSHOT FROM / TO on the snapshot patterns.

How do I compare all seven patterns at once?

Open Compare, the last item in the guide's list. It shows the Which pattern do I need? cheat sheet: every pattern on one row, with what it pulls per run, whether deletes propagate, whether it keeps history, how storage grows and whether it needs a date column.

How do I move around the guide?

Click a pattern in the list to jump to it; on a narrow screen, click a chip at the top instead. The list highlights the section you are reading as you scroll.

Are the examples in the guide real data?

No. The animations use example tables and fictional sample rows to show what each pattern does over one or two runs; they do not show your data.

How do the guide's patterns relate to the sync types on a table?

They are the same seven families under shorter names: Full reload is Full Reload (Truncate Insert), Full reload · upsert is Full Reload (Upsert), and so on. The table in Patterns and sync types lists every pair.

What does the DELETES NEVER PROPAGATE badge mean?

On the two upsert patterns, a row deleted in the source is never deleted in the Lake. The merge is by key, so once a record has landed it stays, even if the source later deletes it. The card's note flags this as the feature to check first: confirm that it is what you want before a table uses an upsert.

Why does the incremental reload example keep a row the source deleted?

Because incremental reload reads only the lookback window. A delete that happened outside the window is never seen, so the row stays in the Lake; the example's caption calls this out. Choose a sync type explains how to widen the window or switch to a full pattern.

Why do snapshot tables show a 2099 date?

Snapshot patterns version rows with Snapshot From and Snapshot To. The current version keeps 2099-12-31 23:59:59.999 in Snapshot To until a newer snapshot arrives; the previous version is then closed one millisecond before the new one begins. That keeps version ranges clean, with no overlaps and no gaps. To read a past version, filter on the two columns; Choose a sync type shows how.

Is the loop sync type in the guide?

The guide has seven cards and none of them is the loop. Incremental Reload Loop (Truncate Insert) is the loop variant of incremental reload: it walks the same window in steps of Loop Increment. Choose a sync type covers it.