vizier-scala
vizier-scala copied to clipboard
Make Vizier GIT-friendly
What pain point is this feature intended to address? Please describe. At present, there's no (easy) way to share Vizier database files. The current state of the art is to zip up the vizier.db directory, or to use the 'export' feature. Neither is particularly amenable to collaborative development.
Describe the solution you'd like Fundamentally, it would be nice to have a way to drop a vizier.db folder into a VCS. The limiting factors to this at the moment are:
- The Vizier.db SQLite database can get quite large. We did add a GC/Dedup feature that should keep it more in check, but even so, it is not unlikely that a database will eventually exceed the file size limit of public VCS hosts like GitHub.
- The Vizier.db SQLite database is updated on every edit, and is a binary file. This means that, for all practical purposes, the SQLite database can't be delta'd and ends up getting pushed in its entirety on every edit.
- The SQLite database can't (easily) be diffed, not only because it is a binary file, but even a logical diff of the database would need to take into account semantic considerations, like key identifiers (which could conflict if two people add workflows/etc... in parallel), and foreign key relationships (e.g., filenames that need to correspond to artifact identifiers). This means any conflict requires the user to take extensive, error-prone manual resolution steps.
- It's possible that file artifacts could exceed the size cap of a VCS system; GIT-LFS support should be included.
Describe alternatives you've considered
- Zip up and email Vizier.db
- Vizier's export feature