4 ms·
The syncing is unparalleled because Dropbox does block-level/delta syncing (per 4KB I think?) instead of file-level syncing. This becomes very readily apparen
by jorvi 7y ago
The syncing is unparalleled because Dropbox does block-level/delta syncing (per 4KB I think?) instead of file-level syncing.
This becomes very readily apparent if you store large variable files on Dropbox vs. another cloud storage service. Change a few KB? Dropbox syncs it in a few seconds, whereas most (nearly all) other services will happily re-upload your entire multi-gigabyte file again and again and again on each edit.
- tpowell 7y agoI often make small changes to large files, so this matters to me. Does iCloud or anyone else handle changes this way, or just Dropbox? I’ve used Dropbox forever, but it feels like more of a commodity these days, and I’m finally paying for iCloud storage.
- pkaye 7y agoHow does it handle it when you add something to the middle of a file and every block afterwards has shifted data?
- MayeulC 7y agoI guess they probably use a rolling hash, that would be the smart thing to do. I think I first heard of them with casync. The gist of it is that you hash file contents in a sliding window, and use a condition on the resulting hash to chunck your file. That way, blocks are determined by the file content, not an arbitrary offset, and this allows to propagate deltas even with insertions or removals.
- chipsa 7y agoIf it's getting file change notifications, it can look at which blocks had changes written, and only do those. This doesn't help if every block has changes, but most programs that work on big files will have ways to minimize the number of blocks touched, simply to make it faster to save the file.