3 ms·
To do 2-25 million transactions per day you might as well use SQLite. Sounds like this was a career development push more than anything.
by hsjqllzlfkf 3y ago
To do 2-25 million transactions per day you might as well use SQLite. Sounds like this was a career development push more than anything.
- hobs 3y agoNo need to add the extra bit - at the top end 289 transactions per seconds is not something you'd probably want to choose SQLite for, but PG/MySQL/SQL Server would do that fine and require a lot less feeding (though any database with traffic or size needs some care.)
- stubish 3y agoThere is always a better solution than Cassandra, until your data will no longer fit on a single server or you actually need guaranteed availability.
- Alifatisk 3y agoIs there no other db that offers guaranteed availability? I remember reading about Discord switching from Cassandra to ScyllaDB I think.
- brianwawok 3y agoScyllaDB Is just knock off cassandra with different features and performance characteristics.
- stubish 3y agoYes, other distributed databases like MongoDB, CockroachDB, probably a few others. Or even multi-master DB setups. As with Cassandra, you don't want to use them unless you really need that availability and can suffer the downsides. It seems pretty rare to actually need those availability guarantees, rather than say a robust fast failover setup which might cancel some in flight transactions. It is probably when you start looking at two phase commit that you look for alternatives with better availability stories.
- mrweasel 3y ago25 million per day might be a little high for SQLite, especially if they don't spread out evenly over the day. You also get no redundancy or replication, which you might want if your database isn't to grind to a halt during backups. Arguably Cassandra does sound like a weird choice, but we don't know the specifics of their setup. There's a lot of solutions presented on HN where SQLite and a Java application would have been a better choice and you can say for sure without knowing all the details, I feel like this is past that point.
- leokennis 3y agoTransaction in this case is not a database transaction, but a financial transaction (payment). Per payment, probably somewhere in the order of 50-100 database transactions (although Cassandra does not really have transactions of course, interpret this as read/write actions) will be performed in the course of its processing. So that is 1,875,000,000,000 database actions on busy days. Not a DBA, but for our purposes the scalability and availability of Cassandra works very well.
- giovannibonetti 3y agoThere are three extra zeros here
- leokennis 3y agoWhoops you are right.