Hacker News new | ask | show | jobs
by pkolaczk 4853 days ago
"relational databases are incredibly easy to tune and improve"... only as long as they are on a single beefy server. When it is not enough, and very often it is not enough, things start to become very hairy up to the point where you have to rewrite your application using a proper NoSQL solution and with some people who understand databases a little better than "See ma, I put SQL here and it automagically evaluates..."
1 comments

servers up to 512GiB ram, these days, are pretty cheap. that is /big/

The thing is? last I looked, none of the NoSQL databases handle multi-master replication, either. In all cases, if a server goes away, you have issues. With SQL, you promote your most up to date read-only replica to read-write master, re-point the other slaves and run. With modern SQL databases, you can even control how out of sync you allow your read-only replicas to be (to the point of making it so the transaction isn't complete until it's been written not only to the master, but also to the slave... of course, that costs time. It's a tradeoff you can tune, depending on how much your data matters.)

Now, if you just need more write-performance than a single beefy server with 512G ram and a bunch of SSDs can bring (which is a lot) then you shard. At that point, you are pretty much where most NoSQL systems are, except that most sql engines come with a bunch of neat tools for finding slow queries (and for figuring out how to make those queries fast without changing the php) that the nosql stuff seems to lack.