goofys
juicefs
Our great sponsors
goofys | juicefs | |
---|---|---|
16 | 42 | |
4,995 | 9,675 | |
- | 4.1% | |
0.0 | 9.7 | |
about 1 month ago | 3 days ago | |
Go | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
goofys
-
Is Posix Outdated?
The author needs to ask themselves: in this cloud technology stack, is there POSIX involved somewhere lower down, where I can't access it? The answer is, of course, "yes". The sort of cloud storage systems described all run on top of POSIX APIs. They provide convenience (cost efficiency is more debatable) compared to the POSIX alternative, but that's because they exist at an entirely different conceptual layer (hence the presence of POSIX anyway, just buried).
Your point about surfacing a POSIX that's actually there but hidden and thus visible to low-level Amazon employees building the S3 service which makes it invisible to S3 end customers is true but isn't the the point of the article. The author is saying there are motivations for a POSIX-like api visible also the end user.
So your explanation of stack looks like 2 layers: POSIX api <-- AWS S3 built on top of that
Author's essay is actually talking about 3 layers: POSIX <-- AWS S3 <-- POSIX
That's why the blog post has the following links to POSIX-on-top-of-S3-objects :
https://github.com/s3fs-fuse/s3fs-fuse
-
AWS Announces Open Source Mountpoint for Amazon S3
How is this different than these other solutions?
-
Introducing Mountpoint for Amazon S3 - A file client that translates local file system API calls to S3 object API calls like GET and LIST.
But now I ask.. why not s3fs? Is it the GPL licensing? Or even goofys that also have Apache2 licensing and seems to hit similar goals (non fully POSIX compliant)? Why build your own?
- Merge my S3 with Mac Finder Folder
- How should I go about creating a program that holds various MP4 files?
- Raft Consensus Animated
-
Mount S3 Objects to Kubernetes Pods
We're using goofys as the mounting utility. It's a "high-performance, POSIX-ish Amazon S3 file system written in Go" based on FUSE (file system in user space) technology.
-
What you gonna add to your selfhost stack this year?
will probably experiment with https://github.com/kahing/goofys and https://litestream.io/ to make services more easily moved between the devices :) Also, will continue working on https://synpse.net/ to make the operations easier.
-
File Systems implemented in Go
goofys - A high-performance, POSIX-ish Amazon S3 file system written in Go.
-
Scalable PostgreSQL Connection Pooler
> We've had some ideas around using this for distributed querying: in our case, each node responsible for a given partition of a dataset would be able to download just the objects in that partition on the fly (though constraint pruning), so we wouldn't need to knowingly seed each worker with data.
IMHO, if you're going to do this, I'd recommend not doing this in Postgres itself, but rather doing it at the filesystem level. It's effectively just a tiered-storage read-through cache, and filesystems have those all figured out already.
You know how pgBackRest does "partial restore" (https://pgbackrest.org/user-guide.html#restore/option-db-inc...), by making all the heap files seem to be there, but actually they're empty sparse files that just happen to have the right allocated length to make PG happy?
Imagine taking one of the object-storage FUSE filesystems, e.g. https://github.com/kahing/goofys, and modding it so that it represents all not-yet-fetched files under readdir(2) with an equivalent representation.
Then just make your pg_base dir an overlayfs mount for:
• top layer: tmpfs (only necessary if you don't give temp tables their own tablespace)
juicefs
-
South Korea's No.1 Search Engine Chose JuiceFS over Alluxio for AI Storage
Support for Kerberos keytab files
-
5 Open Source tools written in Golang that you should know about
JuiceFS under the Apache License 2.0, is a high-performance POSIX file system optimized for cloud-native environments. It stores data in Object Storage (e.g., Amazon S3) and metadata in databases like Redis, MySQL, or TiKV. JuiceFS integrates massive cloud storage with big data, machine learning, and AI applications efficiently, akin to local storage. It features full POSIX and Hadoop compatibility, S3 interface, Kubernetes support, and shared file storage for numerous clients. Some cool features are - strong consistency, scalable performance, data encryption, global file locks, and compression with LZ4 or Zstandard.
-
Gcsfuse: A user-space file system for interacting with Google Cloud Storage
If you really expect a file system experience over GCS, please try JuiceFS [1], which scales to 10 billions of files pretty well with TiKV or FoundationDB as meta engine.
PS, I'm founder of JuiceFS.
The architecture image shows GCS and others, so I suspect it does.
-
Google Cloud Storage FUSE
See also: JuiceFS: https://juicefs.com/
Adds a DBMS or key-value store for metadata, making the filesystem much faster (POSIX, small overwrites don't have to replace a full object in the GCS/S3 backend).
Almost certainly a better solution if you want to turn your object storage into a mountable filesystem, with the (big) caveat that you can't access the files directly in the bucket (they are not stored transparently).
- Using S3 as shared storage
-
s3fs-fuse VS juicefs - a user suggested alternative
2 projects | 19 Feb 2023
JuiceFS can do the same thing as s3fs-fuse, but better. Because it supports robust data consistency and caching policies to improve performance.
-
Open source cloud file system. Posix, HDFS and S3 compatible
Atomic file/directory renames/moves is the fundamental feature of JuiceFS, which makes it truely a file system rather than a proxy to S3, please check the docs for all the compatibility details [1].
- An open-source distributed object storage service
-
POSIX Compatibility Comparison among four file system on the cloud
From Juicedata/JuiceFS ! (0ᴗ0✿)
What are some alternatives?
s3fs-fuse - FUSE-based file system backed by Amazon S3
rclone - "rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files
cubefs - cloud-native file store
gcsfuse - A user-space file system for interacting with Google Cloud Storage
s3-benchmark - Measure Amazon S3's performance from any location.
catfs - Cache AnyThing filesystem written in Rust
s3fs - S3 Filesystem
s3-proxy - S3 Reverse Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth)
hdfs - A native go client for HDFS
Golang-PDF-to-Image-Converter - This project will help you to convert PDF file to IMAGE using golang.
s3fs - S3 FileSystem (fs.FS) implementation