Hacker News new | ask | show | jobs
by nemothekid 2786 days ago
I've managed medium sized Cassandra clusters (~18 nodes) for a couple years (since v1.2). At a new job, last year, I replaced the Cassandra cluster with Scylla. Performance was great, as it says on the in, but as an operator:

- No GC Tuning. It just works out of the box and I don't sleep over requests being dropped because of a multi-second GC.

- Compactions are fast. Compactions in Cassandra generate a lot of garbage (which cause a lot of GC), and end up taking a long time. This becomes worrisome as your largest, most compacted tables tend to be the ones you write a lot too - so performance degrades over time (until you have to shard again).

Cassandra is still very good software though and still a solid choice - it was far more stable than Mongo (pre-WiredTiger, I haven't used mongo past ~2.2), and while the above issues were annoying, they were entirely predictable. Capacity planning was easy, and with Scylla you may find yourself running fewer nodes (maybe DSE prefers Java because they charge per core, jk).

The only thing I've missed in Scylla so far is LWTs, but I have not used that much.

1 comments

When you did the switch did you just swap out the software on each node, or did you provision new nodes with Scylla, adding them to the cluster, and removing old nodes with Cassandra?
I don't believe you can have a mixed Scylla/Cassandra cluster. In our case we cloned our drives and started a whole new cluster with Scylla. When we were happy with Scylla and done the appropriate testing, we shutdown the Cassandra cluster.
[Scylla employee] Indeed a mixed cluster isn’t supported, since the inter-node protocols are incompatible.