Show HN: ZeroFS – A log-structured filesystem for S3

(zerofs.net)

55 points | by Eikon 2 hours ago ago

32 comments

  • rockwotj 44 minutes ago

    The sub-millisecond writes with data in S3 is false and impossible. If you look at the benchmark the fsync is not timed, so this is just the latency of either the network or in kernel file operations depending on the mount settings

    • xyzzy_plugh 35 minutes ago

      I hate it when databases celebrate their performance without synchronous flushing. You should be clear about data loss window (which should be zero for committed transactions by default!) and the flushing interval to persistent storage.

      I'm okay if you batch writes, I'm okay if you offer a low-latency mode with less durability, but by being unclear about this it just feels like a scam.

      • rockwotj 23 minutes ago

        Yeah in this case the footnote to the write latency specifically says “at rest in S3”, which is what caused me to go look at the source. To be clear I have no problem with the ZeroFS of only flushing on fsync.

        I am very excited for object storage first systems like this to leverage low latency zonal storage for write ahead logs to keep the disaggregated storage but greatly reduce write latency. That ends up being more expensive, but is likely a good tradeoff in lots of cases I have seen

      • Eikon 15 minutes ago

        ZeroFS aims to be a POSIX filesystem, the semantics here are the standard ones (ext4, xfs behave the same): write() is buffered (that's the batching) and "committed" maps to fsync(), which returns only once data is durable.

        • rockwotj 4 minutes ago

          Nothing wrong with that, but you should remove the “at rest in S3” footnote from the write latency on the frontpage of the website, because that is not what is measured

  • chillfox 5 minutes ago

    I don’t get why they went for NFSv3, v4 is quite old and I can’t think of any reason why you would choose v3 over v4.

  • coxley an hour ago

    From the docs:

    > ZeroFS fetches object data in 128 KiB parts

    Read/write operations in object storage are _far more_ expensive than stored bytes. I'm always afraid of anything that abstracts over S3/GCS access specifically for that reason.

    • karakanb an hour ago

      One of the reasons why ZeroFS seems interesting is they use SlateDB under the hood, which optimizes the requests that hit S3 behind the scenes.

    • throw1234567891 an hour ago

      Especially that the “one fetch” is who knows how many reads and retries under the hood.

  • tribal808 an hour ago

    I’ve seen things like this before; your key differentiator needs to be efficiency and safety compared to other options.

    • felooboolooomba 28 minutes ago

      OP this is the best advice here.

      Since you are harnessing the sorcery of AI, have it write really good benchmarks, run tests and comparisons on competitive products, (and publish them), look up common pitfalls, often requested features, run security analysis.

      Also with marketing texts, write your self first and then you can ask AI to hone it or give you feedback. AI slopped marketing text is visible from miles and really, really puts people off. Even if the product itself would be fine, there is some much slop slushing around in the pipes at the moment.

      I really like this project and want to see it succeed! Don't let naysayers wear you down.

      • Eikon 24 minutes ago

        Thank you, appreciated!

  • abtinf an hour ago

    Entrusting data storage to a vibe coded filesystem seems imprudent.

    • Eikon an hour ago

      Is it? :)

      Ask me anything!

      • abtinf an hour ago

        Here is my unsolicited advice:

        If one of your goals is to get others to adopt the software, I recommend you redo the marketing page and readme from scratch. Delete them without looking at them again, then hand write the content for them. Once you have the content, you call tell an LLM to format it into a nice landing page, but strictly keep your wording without changes.

        • Eikon an hour ago

          That's fair advice, thanks.

      • wyager an hour ago

        FYI it looks like some of your comments are getting auto-flagged by the HN moderation system and marked as dead

  • preetham_rangu an hour ago

    How does this compare to JuiceFS or SeaweedFS in terms of metadata latency? The LSM tree approach is interesting but compaction pauses on a remote-backed store seem like they could be painful.

  • dan_sbl an hour ago

    > The test suites run in public CI.

    > Each card links to the CI pipeline.

    Thanks for being explicit, AI written marketing site. Wouldn't have been able to figure that out! Every currently maintained and reasonably popular open source project either runs CI in public or makes the tests extremely easy to run.

    • xx_ns an hour ago

      I got the same vibe from

      > These are asciinema recordings of real terminal sessions, rendered as text rather than video. Playback caps idle pauses at two seconds and changes nothing else.

      Thanks? This sounds like it's the LLM's response to the prompter, not something you should display on the page itself...

      • dizhn an hour ago

        I feel bad for actually liking that part now. Capping pauses at 2 seconds would show you where it hung 2+ seconds without wasting your time. Smart I thought.

    • Eikon an hour ago

      Thank you for the feedback, the idea behind this was to say "We make claims that are backed by workflows you can verify". I'll improve the phrasing.

  • ChocolateGod an hour ago

    I believe the first version of this required the metadata to be stored on the ZeroFS server, making HA kinda hard.

    This has changed now that if I stop the server and create a new instance with the same configuration file it'll pickup the existing metadata from the bucket?

    • Eikon 33 minutes ago

      > I believe the first version of this required the metadata to be stored on the ZeroFS server, making HA kinda hard.

      Metadata has always been in the bucket itself.

      For HA, there's now a "replicated mode" if you want automatic failover:

      https://www.zerofs.net/docs/high-availability

  • tmach32 an hour ago

    See also: JuiceFS, S3FS, and quite a few others.

    We have done loads of research into using object storage wherever we can (given how cheap it is compared to SSDs), and so far it seems like making your application object store-aware is a far surer bet than abstracting S3 behind the file system. The behavior is just too different.

    I'm more interested in applications that cleverly use object storage, e.g. AutoMQ, which is quite compatible with Kafka APIs but needs no HDDs.

    • the8472 an hour ago

      s3fs doesn't provide posix semantics. It's good enough™ for some uses, but not comparable to what this one is ostensibly providing.

  • iamalizaidi an hour ago

    Seems purely vibecoded

    • lukewarm707 43 minutes ago

      wonder when we get agents good enough that we can't say vibecode any more and have to say 'code'.

      there was slop with ai jesus but now gpt image is just a photo with hidden watermark

  • abtinf an hour ago

    Why does this landing page load js from merklemap.com?

    • xx_ns an hour ago

      Both projects have the same author.

    • Eikon an hour ago

      Just a self hosted plausible instance :)

  • breckognize an hour ago

    Under the hood, S3's storage nodes are also built on a log-structured file system: https://cdn.amazon.science/77/5e/4a7c238f4ce890efdc325df8326...

    (Not posix compliant because it doesn't need to be.)