4 ms·
Relational DBs are 'bad' because their design has to be fundamentally compromised to be distributed -- removing joins, sharding, denormalizing, etc. -- all of t
by blasdel 18y ago
Relational DBs are 'bad' because their design has to be fundamentally compromised to be distributed -- removing joins, sharding, denormalizing, etc. -- all of these manual optimizations remove all semblance of 'relational'-ness! Look at Stonebraker's recent publishings -- more restrictive designs are always faster by several orders of magnitude for their specific domains.
There is absolutely a theory behind objects, I urge you to read Luca Cardelli and Martin Abadi's monograph "A Theory of Objects", you'll find all the answers you're looking for there with both rigorous proofs and examples from languages (real and imagined).
OODBs did not fail because of a lack of theory, nearly all of the people writing and using RDBs have a poor grounding in the theory -- see Fabian Pascal's contention that all of the failings of extant RDBs are because they are not relational enough, that SQL is not relational.
OODBs failed because the commercial Smalltalk vendors who had quality products all faded from view, and the term was hijacked by marketing departments pushing bullshit.
The solution I see [Google, eBay, Amazon, etc.] using is to use the DB as raw simplistic storage with strong guarantees, and to push all of the joining and caching up into an application layer. There's no way to "tell the database more information" without using a programming language.