Data Snapshot
Also known as: snapshot, periodic snapshot.
A complete record of a list or table as it stood at one moment, kept as a unit with its time, scope and completeness, so later versions can be compared against it.
Synthetic dataExamples on this page use synthetic data created for illustration.
Definition
A data snapshot is a complete record of a list or table as it stood at one moment, kept as a unit together with its time and scope. Comparing snapshots shows what changed, and a snapshot that also records its own completeness is never mistaken for a full one when it is partial.
In plain terms
A table that is updated in place only knows the present. A ranking that changes every hour, a price list, a set of members: if you keep only the latest, you cannot answer “who was on it last Tuesday?”. Taking a snapshot on a schedule, with the same conditions each time, preserves the membership and the order for every moment.
A snapshot should say what it covers (which list, under which conditions), when it was taken and whether it is complete, partial or failed. Without the completeness flag, a half-captured list looks like a list that shrank.
Example
A “top 5” list, captured daily:
| Day | Members, in order | Status | What can be concluded |
|---|---|---|---|
| Mon | A, B, C, D, E | Complete | Baseline |
| Tue | A, C, B, F, G | Complete | D and E left the list; F and G entered |
| Wed | A, C, B (second page failed) | Partial | Nothing about places 4 and 5; F and G may still be on it |
Treating Wednesday as complete would wrongly report that F and G left the list.
Common misunderstandings
- “A snapshot is just a backup.” A backup restores a system; a snapshot is an analysable record of a state at a time.
- “Missing from this snapshot means gone.” Only if the snapshot is complete, and absence from a list is not the same as being discontinued.
- “Changing the capture conditions is harmless.” A different time, region or language can change the list itself; start a new scope version instead of comparing across the change.
References
- Ralph Kimball, Margy Ross. The Data Warehouse Toolkit . Wiley, 2013. ISBN 978-1118530801.
- Martin Kleppmann. Designing Data-Intensive Applications . O'Reilly Media, 2017. ISBN 978-1449373320.