jjirsa
I’ve run more Cassandra than anyone on the planet. Also more FoundationDB. And more Postgres than I can count. Likely 3 orders of magnitude more than you.
1. Any db at that scale requires a team. Thousands of cores is gonna be either paying saas or paying a team and I don’t care what the tech is. You’re gonna fuck up any db on the market letting your app eng run a thousand cores of Postgres or MySQL or couchbase or cockroach or tidb.
2. Cassandra at scale has a demonstrably better cost and availability slo than literally annything else I’ve ever tried to run, as long as you have a competent team. And I had a great team. But we had a great team because we understood that at million core scale it’s a core of the product and you invest in your core. But a good team of a dozen people can run a million cores at 6-8 nines, at lower cost per byte or cost per query than any db-aas you can buy online from any cloud vendor. I know this because we checked, and I’ve been ahead every time.
3. The db isnt fun to run. But it’s getting way better. If you think this is 2009, it’s not. The folks working on it in 2026 know what they’re doing and the last decade has made it measurably safer and easier.
Nothings free, but I’d bet my salary I can run damn near any company on Cassandra cheaper than any of your alternatives. Even all the vendors who keep selling against Cassandra. A competent team on Cassandra is going to beat your vendor product 90% of the time.
That, in itself, is saying more than anything else
> Or more often companies with money come to fork an open source project from the developer, and continue pretending it's their own now.
It's not a stretch. They literally copied the java code and re-implemented it class-by-class with Seastar/c++.
It's literally in the ORIGIN file in their repo: https://github.com/scylladb/scylladb/blob/dc375b8cd3e8c7e85d...
You missed the important part of his sentence:
> All those open source copycat projects, using open source to get exposure then switching
The original open source here was Cassandra. Scylla exists to pick off that market share. They launch with a free license, pull customers, then swap license. The actual adoption of Scylla would have been a fraction had it been released under this license to start, which everyone understands.
> Or more often companies with money come to fork an open source project from the developer, and continue pretending it's their own now
It had already been AGPL, so it's not like they're protecting against competition. They already had a license that avoided the forking problem. This isn't protection against AWS (keyspaces likely has more OSS cassandra code in the protocol tier than it has Scylla code, if it has either). It's protection against free consumption.
They’re contributing to a ton of OSS that’s NIH:
https://opensource.apple.com/projects/
K8s, spark, cassandra, netty, zookeeper, solr, containerd
> My team migrated several kloc k8s configuration to pkl with great success. Internally we used to write alert definitions in pkl and it would generate configuration for 2 different monitoring tools, a pretty static documentation site and link it all together nicely.
That database spent 3-4 years primarily focused on correctness from 2018-2022.
The industry moves fast, our memories are slow. But there are millions of instances of cassandra in production across most of the fortune 500, and half of this thread has never heard of RavenDB
The bloomberg article has a visual showing revenue-per-employee going up from 1.17M/employee (2017-2019) to 2.51M/employee (2020-2022), so ... some of the underlying economics changed somehow?
It's a fun sub-thread to read.
As I mentioned elsewhere, I'll see if I can get permission to talk publicly about the actual numbers.
If you have 3 and you for CL 3 instead of quorum, and only 2 are up, it won’t partially write - it’ll throw an unavailable exception instead of attempting it
If you have 3 and specify quorum and 1 is down, it’ll write to the two, and propagate to the third in one of three ways:
- via hints (the timed thing you describe),
- via active repair (times and tombstones don’t matter at all, and data can’t magically come back to life with reasonable config settings), or
- or via read repair when you read from a quorum that overlaps the down node, again, regardless of pretty much anything else, this always happens.
- You're willing to give up some common SQL-isms for leaderless, multi-dc, high-availability
- You're going to grow to need more than one machine taking writes - if you can fit on one normal commodity machine, just use something designed for one machine. Cassandra sacrifices a lot to scale to ~thousand-machines-per-cluster, so if you can use one machine, don't bother with Cassandra.
- You can model your data in a way that does SELECTs without JOINs, and always uses AT LEAST the partition key in the WHERE clause. Denormalizing and duplicating your data is PROBABLY ok.
- You're willing to run Java (so you understand that you may need to tune the JVM eventually), and you're willing to learn about data modeling before you just start writing code
If all of that is true, Cassandra starts being interesting.
I think there are a handful of humans that actually get it. But it is a true handful, not more than 5.
Ignoring that leads to long postmortems about how your embedded db failed in a way you didn’t expect: https://blog.roblox.com/2022/01/roblox-return-to-service-10-...
SQLite is good
Rocksdb is good
You don’t need pure go.
Targeting for extortion
Targeting in general
DocuSign’s feature list is huge. It’s not just overlaying a signature on a doc. It’s a massive and complex app that most people will ignore or trivialize, but that shit just works.
Mark all the signature locations?
Multi-user?
Chained dependencies?
Recording and redownloading later?
SSO
Audit / identification
Salesforce integration?
Contract generation?
Orange site minimizing huge successful company because they care about one feature seems super on brand.
On a deeper note, it probably says something about the user base that people who don’t run it in prod think the perf is really bad and yet there are very few people submitting perf improvement patches. Maybe most of the power users aren’t that worried about perf because they either know how to tune a JVM or they happen to size their clusters based on bytes on disk?