4 ms·
Somewhat related, I wrote a fuse-based file system in Rust recently that used SQLite as the backing store for file records, though not the file contents. I imag
by daenz 5y ago
Somewhat related, I wrote a fuse-based file system in Rust recently that used SQLite as the backing store for file records, though not the file contents. I imagine I could use it for file content as well, so it's good to know more about its performance.
https://amoffat.github.io/supertag/ https://amoffat.github.io/supertag/
- chungy 5y agoSQLite, iirc, has a limit of 1GB per row, and that might too severely limit the utility of your file system if you don't end up splitting files into multiple fragments (rows in the database).
- bombela 5y agoYou read too fast: > SQLite as the backing store for file records, though not the file contents
- imhoguy 5y agoYou are right, by default 1 billion bytes per row or blob. Can be raised up to 2GB with compilation parameter[0]. Storing video streams may be not a good idea, but e.g. photos, thumbnails or some JSON documents may be absolutely fine. [0] https://sqlite.org/limits.html https://sqlite.org/limits.html
- FractalHQ 5y agoI’ve wanted to do something like this for ages- definitely going to check this out! The limitations imposed by the hierarchical structure of traditional file systems bothers me rather frequently. Are there any notable trade-offs or limitations you’ve encountered with this approach?
- deleted 5y ago[deleted]
- opheliate 5y agoVery cool! I've been using TMSU for this purpose for a while, but I'll have to check out supertag :)
- GauntletWizard 5y agoI wanted to learn about Fuse and SQLite in Golang, so I built a filesystem that was entirely stored in SQLite. It's incomplete (read-only for directories at the moment, among other nits), but was surprisingly easy and performed with decent performance on some tests I did; Nearly half throughput of a raw filesystem.