Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Jepsen

    jepsen.io · Company blog · on HN since 2015

    Kyle Kingsbury (Aphyr) publishes Jepsen's tests of distributed databases and explanations of consistency models.

    Visit blogHN submissions
    Distributed SystemsDatabasesSystems & Performance
    What HN says

    HN commenters call Jepsen's tests quite comprehensive and refer to it when discussing how to test distributed databases like rqlite.

    Stats for nerds
    212HN people shared it
    54linked in comments
    7.8Kstory points
    Aug 2026last shared
    2016people per year2026

    Top posts on HN

    1. 1
      Jepsen: PostgreSQL 12.3
      9 people · 770 points · first shared 2020 · 140 comments on HN
    2. 2
      Jepsen: MongoDB 4.2.6
      34 people · 764 points · first shared 2020 · 254 comments on HN
    3. 3
      Jepsen: Amazon RDS for PostgreSQL 17.4
      1 person · 608 points · first shared 2025 · 146 comments on HN
    4. 4
      Jepsen: NATS 2.12.1
      5 people · 432 points · first shared 2025 · 165 comments on HN
    5. 5
      Jepsen: Datomic Pro 1.0.7075
      4 people · 403 points · first shared 2024 · 98 comments on HN
    6. 6
      CockroachDB beta-20161013
      1 person · 309 points · first shared 2017 · 203 comments on HN
    7. 7
      Jepsen: Distributed Systems Safety Analysis
      33 people · 285 points · first shared 2015 · 60 comments on HN
    8. 8
      FaunaDB 2.5.4
      2 people · 263 points · first shared 2019 · 71 comments on HN
    9. 9
      Hazelcast 3.8.3
      2 people · 248 points · first shared 2017 · 47 comments on HN
    10. 10
      Consistency Models
      31 people · 244 points · first shared 2018 · 7 comments on HN

    What HN people wrote when they linked it

    • btillyMar 2023

      If the recipient fails after telling the deduping machine what it has seen, the recipient's failover will be in an unknown different state. And now the failover machine has to try to figure out what its state should be, what is going on, and so on. You can add ways to addressing each possibility here, and you'll get ever more obscure chains that again can result in failure. At the cost of ever increasing complexity, you'll make failures ever more complicated.

      Frequently developers who implement these manage to do two bad things. First they introduced a lot of complex code which rarely triggers except in disaster, and so whose bugs tend to survive. And second, they manage to convince themselves that they have accomplished the impossible, and make reliability promises that other developers unwisely believe. Exactly how unreliable most systems were and how much the documentation couldn't be trusted was underappreciated until https://jepsen.io/ came along and started proving how bad most distributed software was.

      Now it may seem bizarrely unlikely that you'll ever see this kind of situation. But failures often start from network congestion due to a packet storm. And the failures lead to chatty Byzantine fault tolerance protocols adding significant traffic. This causes cascading failures. And so a small, simple outage can escalate into a series of outages as ever more confused servers continue overwhelming the network with their futile attempts to discover what is…

    • carlsverreApr 2025

      Thank you! And I agree haha. I love writing SQLite VFS's.

      In SQLSync, the major issue was precisely what you describe: pulling in the full snapshot to replay. This is the main driver behind the "partial" aspect of the Graft design. It means that clients only need to pull the portion of the incoming snapshot that they don't already have and that overlap with the read/write set of their transactions. So yes, to answer your question once SQLSync is powered by Graft, it will frequently be able to avoid downloading all state in order to reset and replay.

      Note that if a client is ok with relaxing to snapshot isolation (in particular this means clients may experience Write Skew[1]), and the r/w set of their local transaction does not intersect the snapshot changeset, Graft is able to perform an automatic merge.

      [1]: https://jepsen.io/consistency/phenomena/a5b

    • srhtftwMar 2025

      Although I'm not a fauna user, I like studying databases and query languages. I've followed them since Jepsen¹ reviewed FaunaDB 2.5.4 back in 2019.

      While their FQL looks useful, I can't imagine using a SaaS-only proprietary query language in this age for anything other than a research proof-of-concept to learn more about my problem before building a real product on an open platform.

      Curious that Bob Muglia (ex Snowflake) is on their board. I believe he's also on the board of Relational AI which is another SaaS with an interesting but proprietary query language. Snowflake is a huge success in spite of being proprietary because its SQL isn't hard to learn or use, but I can't say the same about rAI. Makes me wonder how they will turn out.

      ¹ https://jepsen.io/analyses/faunadb-2.5.4

    • wlllMar 2024

      The price of persistent storage and memory was the same for Mongo as it was for Postgres back when the NoSQL movement happened. Mongo wasn't made of magic scaling fairies and still needed resources. As soon as you cranked up the safety of Mongo to a nearly acceptable level it's performance fell through the floor. The only reason people though it performed amazingly was because of Mongo's rather deceptive marketing.

      I use the term "nearly acceptable" because for a long time Mongo's data consistency was absolutely crap (https://jepsen.io/analyses)

      Personally I think people used Mongo because it was new, shiny and exciting and it promised performance (though it didn't really deliver for most people).

    • cmiles74Feb 2022

      I disagree that the analysis articles from Jepsen, taken as whole, are arguing for a "perfect distributed system without trade offs". In my experience these articles are fairly even-handed, indeed, many products make some changes based on the analysis and then contract for a follow-up. That the "tone and implication is as if somehow there is some alternative panacea without tradeoffs..." is not something I observed in this analysis or the previous ones that I have read.

      In my opinion the Rethink DB 2.1.5 report went fairly well for that project. If the claims are aligned with the reality of the product, it's clear the Jepsen report will highlight that.

      https://jepsen.io/analyses/rethinkdb-2-1-5

    • penne12Jun 2023

      Postgres by far. The inbuilt json support is great. In addition, Postgres as a whole has decades of bullet proofing behind it. MongoDB doesn't have many advantages, has many bugs and sharp edges, and doesn't have enough advantages to justify it's use. In [an old analysis by Jepsen](https://jepsen.io/analyses/mongodb-4.2.6), MongoDB 4.2.6 exhibited "read skew, cyclic information flow, duplicate writes, and internal consistency violations. Weak defaults meant that transactions could lose writes and allow dirty reads."

      Will note that json/text columns are better than jsonb. Lower serialization overheads and surprisingly smaller binary size. Or better yet, just normalize to a columnar format.

    Related

    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026
    VoltDB Blogvoltdb.com47 people

    FoundationDB's Lesson: A Fast Key-Value Store Is Not Enough

    VoltDB Blog
    Company · last shared 2021
    Fauna Blogfauna.com70 people

    Demystifying Database Systems: An Introduction to Transaction Isolation Levels

    Fauna Blog
    Company · last shared 2025
    Daniel Abadidbmsmusings.blogspot.com68 people

    NewSQL databases fail to guarantee consistency and I blame Spanner

    Daniel Abadi
    Personal · last shared 2025
    ParadeDB Blogparadedb.com25 people

    We made Postgres writes faster, but it broke replication

    ParadeDB Blog
    Company · last shared 2026
    Small Datumsmalldatum.blogspot.com63 people

    The original LSM paper

    Small Datum
    Personal · last shared 2026
    2ndQuadrant Blogblog.2ndquadrant.com99 people

    Data Loss at GitLab

    2ndQuadrant Blog
    Company · last shared 2025
    MongoDB Blogblog.mongodb.org90 people

    MongoDB 2.0 Released

    MongoDB Blog
    Company · last shared 2016