RDBs are very good at modeling your data, but have scaling problems.
I think the scaling problems of relational databases a vastly overstated. Right now, using off the shelf kit, you could build a relational database handling 10,000 commits/sec and 100T of data, without using "sharding" or any nonsense like that. Too many people think MySQL and its limitations are representative of this technology; it isn't, not by a long way.
Too many people think MySQL and its limitations are representative of this technology; it isn't, not by a long way.
This is about as true as it is sad, but when your only exposure to relational databases is the least mature and featured one on the market, and everyone is too busy sharding and remaining oblivious about it, this is the kind of discussion you get.
"Sharding" is shorthand for "MySQL's concurrent write performance is abysmal, let's spend more on trying to make it work than it would have cost to just buy Oracle".
Not too mention that sharding probably is one of those things which might seem clever when your database engine doesn't even have hash joins.
I mean, when your DB can't join large result-sets quickly and efficiently in process, why care about the loss of joinability when you spread your data across several servers?
DB2 is free up to something like eight gig of memory usage. I don't understand why people are so wedded to MySQL and Postgres now that DB2 and Oracle have free and very cheap versions.
I can't speak to DB2, but I am really sick of the weird complexity of Oracle. It's power comes at a fairly high cost of complexity, whatever the pricing structure looks like.
It sure is mired in complexity. I am an Oracle programmer by day and once you put it under load there are some pile of bugs that start to show up! That said, Oracle can do so e amazing work, if you have people on hand who can make it do it!
I think the scaling problems of relational databases a vastly overstated. Right now, using off the shelf kit, you could build a relational database handling 10,000 commits/sec and 100T of data, without using "sharding" or any nonsense like that. Too many people think MySQL and its limitations are representative of this technology; it isn't, not by a long way.