Database / LanceDB Interview questions
What is versioning in LanceDB?
Versioning means every write to a LanceDB table — adding rows, updating them, deleting them, or changing the schema — creates a new, immutable version of the table rather than overwriting existing data in place, giving every table a complete, git-like history of changes.
print(table.version) # current version number history = table.list_versions() table.checkout(3) # view an old version (read-only, time-travel mode) table.checkout_latest() # return to tracking the latest version
Because older versions aren't deleted immediately, a table can be "checked out" at a past version to inspect what the data looked like at that point in time, and a past version can be restored, which creates a new version whose data matches the old one rather than deleting the version history in between.
This matters a lot for reproducibility in ML workflows — being able to point at exactly the version of a dataset a model was trained or evaluated against — and it's also what makes destructive operations recoverable, since a delete doesn't erase data immediately but marks it as removed in a new version, with actual space reclaimed only later through an explicit cleanup operation.
More Related questions...