upvote
DB2 was crazy good for certain use cases but very weird. For one, the pattern for DB2 efficiency was pretty much the exact opposite of every other database. Every other database would say "Normalize your tables, use BCNF, blah blah, small reference tables, special indices etc".

DB2, the pattern was "denormalize everything into one gigantic wide table". If you did that it was insanely fast for the time and could handle very large datasets.

reply
DB2 had/has excellent data compression capabilities, achieving ratios for OLTP that would only be equaled by later OLAP columnar systems.

For raw performance needs, many financial services schema were going to be denormalized anyway. Compression was a great way to claw some of the resulting inefficient storage back.

reply
I have not had much experience with DB2, but given that the relational data model and normalization was invented at IBM (Codd) and IBM's implemenation of those concepts was DB2, DB2 performing poorly with a normalized data model seems strange.

My recollection was that DB2 did not support multi version concurrency control like Oracle and Postgres did. The result was a lot of lock contention with DB2 if you were not careful. MVCC was eventually added to DB2, but by then it was too late.

reply
That sounds oddly similar to how people recommend using Dynamo. It's super hard to do coming from SQL because everything just feels wrong.
reply
So it was an early version of mongoDB?
reply
> DB2, the pattern was "denormalize everything into one gigantic wide table". If you did that it was insanely fast for the time and could handle very large datasets.

Nobody got fired for buying IBM^W NoSQL

reply