Juice is cool, but tradeoffs around which metadata store you choose end up being very important. It also writes files in it's own uninterpretable format to object storage, so if you lose the metadata store, you lose your data. When we tried it at Krea we ended up moving on because we couldn't get sufficient performance to train on, and having to choose which datacenter to deploy our metadata store on essentially forc…
> It also writes files in it's own uninterpretable format to object storage, so if you lose the metadata store, you lose your data. That's so confusing to me I had to read it five times. Are you saying you lose the metadata, or that the underlying data is actually mangled or gone, or merely that you lose the metadata? One of the greatest features of something like this to me would be the ability to durable even beyon…
JuiceFS is a distributed POSIX file system built on top of Redis and S3
71–80 of 119 posts
Re: JuiceFS is a distributed POSIX file system built on top of Redis and S3
#72This is upside down. We need a kernel native distributed file system so that we can build distributed storage/databases on top of it. This is like building an operating system on top of a browser.
Show me an operating system built on top of a browser that can be used to solve real-world problems like JuiceFS.
Re: JuiceFS is a distributed POSIX file system built on top of Redis and S3
#73Do people really trust Redis for something like this? I feel like it's sort of pointless to pair Redis with S3 like this, and it'd be better to see benchmarks with metadata stores that can provide actual guarantees for durability/availability. Unfortunately, the benchmarks use Redis. Why would I care about distributed storage on a system like S3, which is all about consistency/durability/availability guarantees, just…
This approach isn't right for every use case and juice might be a better fit for this sort of 'direct block store', but wanted to include it here for folks that might want something like Juice but without having to maintain a metadata store.
(Disclosure: I work at Storj that develops Object Mount)
Re: JuiceFS is a distributed POSIX file system built on top of Redis and S3
#74Juice is cool, but tradeoffs around which metadata store you choose end up being very important. It also writes files in it's own uninterpretable format to object storage, so if you lose the metadata store, you lose your data. When we tried it at Krea we ended up moving on because we couldn't get sufficient performance to train on, and having to choose which datacenter to deploy our metadata store on essentially forc…
Disclaimer: I'm the co-founder of TiKV.
Re: JuiceFS is a distributed POSIX file system built on top of Redis and S3
#75This is upside down. We need a kernel native distributed file system so that we can build distributed storage/databases on top of it. This is like building an operating system on top of a browser.
Re: JuiceFS is a distributed POSIX file system built on top of Redis and S3
#76> * Close-to-open consistency. Once a file is written and closed, it is guaranteed to view the written data in the following opens and reads from any client. Within the same mount point, all the written data can be read immediately.*
> Rename and all other metadata operations are atomic, which are guaranteed by supported metadata engine transaction.
This is a lot more than other "POSIX compatible" overlays claim, and I think similar to what NFSv4 promises. There are lots of subtitles there, though, and I doubt you could safely run a database on it.
Re: JuiceFS is a distributed POSIX file system built on top of Redis and S3
#77This is upside down. We need a kernel native distributed file system so that we can build distributed storage/databases on top of it. This is like building an operating system on top of a browser.
Show me an operating system built on top of a browser that can be used to solve real-world problems like JuiceFS.
If a distributed file system is useful, then a properly architectured one is 100x more useful and more performant.
Re: JuiceFS is a distributed POSIX file system built on top of Redis and S3
#78Earlier quoted context omitted.
> poor locking support (this sounds like it works better) File locking on Unix is in general a clusterf*ck. (There was a thread a few days ago at https://news.ycombinator.com/item?id=46542247 ) > no manual fence support; a bad but common way of distributing workloads is e.g. to compile a test on one machine (on an NFS mount), and then use SLURM or SGE to run the test on other machines. You use NFS to let the other ma…
> In general, file systems make for poor IPC implementations. I agree but also they do have advantages such as simplicity, not needing to explicitly declare which files are needed, lazy data transfer, etc. > you'll also want some mechanism for the writer to notify the reader that it's finished, be it with file locks, or some other entirely different protocol to send signals over the network. The writer is always fini…
In such a case it should be sufficient to rely on NFS close-to-open consistency as explained in the RFC I linked to in the previous message. Closing a file forces a flush of any dirty data to the server, and opening a file forces a revalidation of any cached content.
If that doesn't work, your NFS is broken. ;-)
And if you need 'proper' cache coherency, something like Lustre is an option.
Re: JuiceFS is a distributed POSIX file system built on top of Redis and S3
#79Do people really trust Redis for something like this? I feel like it's sort of pointless to pair Redis with S3 like this, and it'd be better to see benchmarks with metadata stores that can provide actual guarantees for durability/availability. Unfortunately, the benchmarks use Redis. Why would I care about distributed storage on a system like S3, which is all about consistency/durability/availability guarantees, just…
I think they should replace Redis with Valkey or even better use rocksdb.
Re: JuiceFS is a distributed POSIX file system built on top of Redis and S3
#80ZeroFS [0] outperforms JuiceFS on common small file workloads [1] while only requiring S3 and no 3rd party database. [0] https://github.com/Barre/ZeroFS [1] https://www.zerofs.net/zerofs-vs-juicefs
Let's remember that JuiceFS can be setup very easily to not have a single point of failure (by replicating the metadata engine), meanwhile ZeroFS seems to have exactly that. If I was a company I know which one I'd prefer.
I personally have went with Ceph for distributed storage. I personally have a lot more confidence in Ceph over JuiceFS and ZeroFS, but realize building and running a ceph cluster is more complex, but with that complexity you get much cheaper S3, block storage, and cephfs.