4 ms·
> As a rule of thumbs, putting 5TB of data -that are growing exponentially- in a single box is always a terrible idea. Storage capacity is also growing exponen
by pg314 10y ago
> As a rule of thumbs, putting 5TB of data -that are growing exponentially- in a single box is always a terrible idea.
Storage capacity is also growing exponentially: Samsung is shipping a 15TB SSD (albeit at $10000), Seagate has previewed a 60TB SSD.
> You're gonna hit all kind of limits with the RDBMS software and the special hardware that will be required.
The limits of RDBMs are well understood. You don't need any fancy hardware for this use case. A couple of Xeons, as much RAM as you can afford and a RAID of SSDs (or possible spinning disks, it doesn't look like Uber is doing anything too fancy).
SPOF: you have slave replicas running that can take over if something goes wrong with the master.
You don't have to take down an RDBM to do maintenance. DDL statements are transactional in PostgreSQL.
The automatic sharding of Cassandra is nice, when you need it. Of course, Uber's use case seems like it lends itself to easy geographic sharding when you're using an RDBM, if needed.
In the end, I'd rather deal with a mature well-understood technology like an RDBM compared to a 5 year old technology like Cassandra (release 1.0 in 2011). You obviously prefer the opposite. To each its own.
- user5994461 10y agoIf you can't get the hardware neither on AWS nor Google nor SoftLayer. I'd consider that exotic enough. Don't get me wrong. I know vertical scaling and I've done it before. I'd take an old school DBA who understands Oracle over a random junior speaking only NoSQL to everything. For the majority of use cases (including where I am now), it's easier to pick the right technology (Cassandra) even if we have to learn and later teach it around, than it is to find someone who can really do 10TB PostgreSQL and spreads the knowledge. Of course, if you have extensive experience with PostgreSQL, that may skew the choice heavily to the other direction ;)
- pg314 10y ago> Of course, if you have extensive experience with PostgreSQL, that may skew the choice heavily to the other direction ;) I have more experience with PostgreSQL than Cassandra, for sure. And I've had negative experiences with people trying to push Cassandra where it was totally not appropriate (small problem and no need for high availability). They had no experience with Cassandra themselves beyond watching a video and doing some tutorials and couldn't answer basic questions about the underlying technology. That might be skewing my perception too.