← 🧠 Machine Learning

🗂️ Dataset Version Control

Auto-commit
Naive Git repo
Snapshots committed: 0
Repo size on clone: 0 MB
DVC-style repo
Pointer files (.dvc): 0
Git repo size: 0 KB
Content-store size: 0 MB
Dedup cache hits: 0
FPS:
Drag — rotate · Scroll — zoom

🗂️ Why Git Can't Track a Changing Dataset

A side-by-side 3D repository timeline: commit dataset snapshots and watch a naive Git repo grow a full-size block every time, while a DVC-style repo stays flat, storing only tiny pointer files and pushing the real bytes into a deduplicated content-addressable store.

🔬 What It Demonstrates

Every "Add dataset snapshot" click commits to both repos at once. The naive Git rail stacks a full-size blob per version forever; the DVC rail adds only a ~3.4KB pointer, and its storage rail only grows when the content hash actually changes.

🎮 How to Use

Set the snapshot size and how much of the dataset changed since last time. Drop "Change" to 0% and add a snapshot to trigger a dedup cache hit — the storage block pulses instead of duplicating. Try Auto-commit to watch the gap widen on its own.

💡 Did You Know?

DVC's .dvc files are plain text — just a path, a file size and a hash — small enough that git diffs and merges them like any other text file, even though the data they point to can be gigabytes.