-
Notifications
You must be signed in to change notification settings - Fork 343
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FR: Support large binary files better than Git #2865
Comments
Naively, the data model of Restic (https://restic.net/) seems like it would work for our usecase. In fact, we could just have a restic repository as a backend, which would make binary file support work immediately with many storage backends (e.g. AWS, Backblaze B2, anything supported by One possible limitation of Restic is that I'm not sure it's very good at pushing/pulling snapshots between the repositories. It has this functionality, but I'm not sure whether it's polished and optimized for our use-case. This assumes that Restic's deduplication strategy is good enough and works well for pulling up files based on their hashes. I am not an expert on it, but I also haven't heard many complaints. I'm not sure whether it uses the same CDC mechanism as Philip mentioned. Another equally popular backup tool is https://borgbackup.readthedocs.io/en/stable/. I don't have a strong opinion between the two; I'm highlighting Restic because I've tried it and its community seems pleasant. Restic is written in Go, but there also exists https://github.com/rustic-rs/rustic. |
Reading on both of those, borg seems more interesting Particularly, this part stood out for me (I mean, it's out there almost immediately on the main page heh)
In fact, thanks for showing those exist, it's about time I back up a few of the more important gigs of things to not be a single drive failure away from a total disaster lol |
For Restic, there's a lot of info here: https://restic.readthedocs.io/en/latest/100_references.html#design, though the snippet about deduplication is short. I'm hoping to look at it more carefully one day. |
First of sorry for the late response here.
A restic backend could solve the use-case but doesn't actually achieve what I want. I want a better support for large files natively and as such, probably involves some hacks on the Git model (the object tag/storage strategy, I hinted at). For the native repo we just should use a CDC mechanism anyway.
It probably won't solve the use-case for this bug, but it should be a good trial run for an alternative backend. |
Is your feature request related to a problem? Please describe.
In certain industries like Games and Audio it'd be useful if
jj
could store Audio and Art efficiently. Currently we'd need to hack it into the Git backend, but if we ever have a native backend it should be simplified. Git LFS is not an alternative.Describe the solution you'd like
We should support binary files with some kind of CDC mechanism and a special object tag.
Additional context
Discord conversations throughout the last 1.5 years. And the FastCDC paper for those who are interested.
I found only one conversation here.
The text was updated successfully, but these errors were encountered: