daviesliu
Joined 13 years ago
Joined 13 years ago
[1] https://juicefs.com/en/blog/company/2025-recap-artificial-in...
We are still working hard on it, hoping that we can help people with different workloads with different tech!
With POSIX API or HDFS, there is no such API to do that, unfortunately.
Inside the metadata service, it uses merkle tree (hash of hash) to verify the integrity of whole namespace (including id of data blocks) between RAFT replicas. Once we store the hash (4 bytes) of each objects into metadata, it should provide the integrity of the whole namespace.
If you already have the infra (databases and object stores), then JuiceFS is the easiest solution to have a distributed file system.
The underlying blob store systems is similar to DataNode or OSD in other distributed file system, could be slower than them a little bit because of the middle layers, the overall performance is determined by the disks.
So we can expect similar performance comparing to HDFS/CephFS, the benchmark results also confirm that.
PS, I'm founder of JuiceFS.
To serve S3 request, you can setup multiple S3 gateway and put a load director in front of them.
Per CAP, it's addressed by different meta engines (CP system, Redis, MySQL, TiKV) and also different object stores (AP system). When the meta engine is not available, the operation to JuiceFS will be blocked for a while and finally it returns EIO. When object store returns 404 (object not found), which means it's not consistent with the meta engine, it will be retried for a while, may return EIO if it's not recovered.
The file format is carefully designed to workaround the consistency issue from object store and local cache. Any part of data is written into object store and local cache with unique ID, so you will not go stale data once the metadata is correct [1].
Within a mount point, JuiceFS provides read-after-write consistency. Across clusters, JuiceFS provides open-after-close consistency, which should be enough for most of the applications, also provide good balance between consistency and performance.
[1] https://juicefs.com/docs/community/architecture/#how-juicefs...
Founder and CEO at Juicedata, Inc.
[email protected]