Hacker News new | past | comments | ask | show | jobs | submit login

For (1) there's stuff like BTRFS snapshots, or you could use Git on top of the FS



> For (1) there's stuff like BTRFS snapshots,

From what I understand, BTRFS snapshots are time-based. Whereas, in classic versioned file systems, a "snapshot" is triggered by open/close operations – each time you open a file for writing, that creates a new snapshot.

> or you could use Git on top of the FS

Git requires your application to have explicit support for working with Git repos, it isn't seamless. And I know some people have built FUSE-on-Git implementations (there are a few around), but (I believe) they've all got various limitations and I don't believe (I could be wrong) that any of them is quite the same experience as a true versioned filesystem


Since mmap I/O is popular, together with long lived processes like databases, snapshot on open/close might not help you much.

With these caveats, using FUSE it should be easy to do, wonder why noone actually implemented it.


> Since mmap I/O is popular, together with long lived processes like databases, snapshot on open/close might not help you much.

Classic versioned file systems were generally not designed for the use case of databases, they were designed for the use case of lots of small text files (config files, source code, shell scripts, etc). For something like a database file you would turn versioning off




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: