The road to ACID transactions in Cassandra 6

(theconsensus.dev)

66 points | by eatonphil 12 hours ago

3 comments

  • farazbabar 23 minutes ago
    I see a few comments talking about the pain cassandra inflicts on ops, and that's fine, I agree with almost all of them. What the comments assume readers to know and understand is the absolute horror of foot guns, backup nightmares, data loss scenarios with seemingly safe choices around quorum and of course the performance purgatory lined with tombstones. Honestly, your workload is not big enough for postgres, trust me. It is like trying to do word count on a 5 TB file with flink, can you? should you though?
    • cyberpunk 5 minutes ago
      Yep, the pain is real. We don’t mention sstableloader in polite company. Add in kubernetes and getting your rf/racdc.properties right in a 3 az cluster so everything doesn’t just die on a netsplit with local_quorum (harder than it sounds) the joys of the ‘repair’ cronjob, backups, and commitlogs occasionally not corrupting to the point one of the 16 nodes in your sts can’t start after a bad exit() (good luck with this one!)yeah. hate.

      Postgres isn’t the answer for my workload tho we really tried, i even wrote custom sharding for our postgres and it couldn’t handle the writes the cassandra setup shrugs off, but for sure this isn’t a ‘normal’ requirement most applications have.

  • cyberpunk 2 hours ago
    I'm sure for some workloads, cassandra is 'ideal' or at least was 10 years ago.

    What I can say though (as someone running thousands of cpus worth of cassandra at the moment); is that I deeply dislike this database. It's an operational nightmare, and I will not miss it even the slightest bit if it goes away forever.

    On the other hand, I'm sure glad to see a bit of life in cassandra dev, it seems to have been dormant for a while; but would I pick it for new applications in 2026? No. I'd strongly recommend against using it unless you have the money to pay for a dedicated team to maintain it, and even then just.. No.

    • heipei 2 hours ago
      So what is the alternative? It took me a while to get around the data schema / modelling that a database like Cassandra imposed, but when it finally clicked it really clicked for me, so much so that I wish I could have the same performance footprint of consistent hashing / sharding with other databases.

      We are using ScyllaDB, but since they discontinued their Open Source version we're stuck on the last supported version, and reading about the operational headaches of Cassandra does not inspire confidence to give it a go.

      • cyberpunk 2 hours ago
        Drop in with same schematics? It's not going to be easy, I don't have an answer. It's unpopular, but probably I'd architect my software more towards a sharded mongo cluster for write heavy workloads these days, rather than lean on cass/scylla/cockroach.

        Mongo bit me a lot pre-wiredtiger and I refused to forgive them for years, but I'm using it again since 8.x and it's really... Boring, Scalable. There are many ways to skin a cat though, and I know not everyone has the luxury of redesigning their apps to fit the persistence layer.

      • rajman187 1 hour ago
        i'd say 99% of usecases will be served fine with Postgres, or a managed instance via AWS
        • cyberpunk 16 minutes ago
          We live in wildly different worlds, I think. How is postgres comparable to 6-12 nodes of cassandra? One really giant one with 200k worth of storage? Is there even a multi-master setup yet? every time i’ve looked it’s just around the corner. multigres from supabase seems promising, but im not touching it for at least a couple years…

          I’d love to use postgres, and have in various times in the past and love it (it never broke) — but one machine isn’t nearly big enough for really any of my current applications.

    • javier2 1 hour ago
      I also run a large-ish cassandra cluster, and I dont really disagree, but then what else?

      I would not recommend starting new projects with it either, but what else will you use?

      • kev009 1 hour ago
        Wasn't ScyllaDB designed to be a drop in? The idea of running a Java or Golang DB sounds like fresh hell to me.
        • kapperchino 31 minutes ago
          Issue is that it’s no longer open source
        • 361994752 1 hour ago
          Why is java bad here...? Because of GC?
          • kev009 44 minutes ago
            Directly and indirectly, there are a lot of other knock on effects. Value objects (only recently being added) help. You could treat it similar to an HFT application, having ephemeral workers that don't do GC and dies on heap exhaustion, with a NIO coordinator that tries to avoid all garbage creation. But why at this point, square peg round hole.
        • javier2 1 hour ago
          yeah, i suppose one could start with scylladb as their base today.
  • javier2 7 hours ago
    Thanks for this, really looking forward to the release of Accord