Database / LanceDB Interview questions
What are branches in LanceDB, and how do they differ from tags?
Branches are isolated, writable lines of history forked from a table's main history (or from a specific past version), letting you make and accumulate changes separately from the production line of history without affecting reads against the main branch.
| Tags | Branches |
| Read-only reference to one existing version. | A separate, writable line of history. |
| Cannot accumulate new changes of its own. | Supports its own sequence of new writes over time. |
| Good for marking a specific point as significant. | Good for experiments, backfills, or migrations kept separate from production. |
| Lightweight; just a named pointer. | A genuinely forked, independently-evolving history. |
A practical use case for branches is testing a risky backfill or large migration: fork a branch from the current main version, run the migration against the branch, verify the results are correct, and only then merge or promote that branch's state into main — all while production reads against main remain completely unaffected by the in-progress experiment.
More Related questions...