3 ms·
The author claims that the proponents of NoSQL are unaware they are repeating history. It's not an argument over history, it's an argument over what a certain g
by batista 15y ago
The author claims that the proponents of NoSQL are unaware they are repeating history. It's not an argument over history, it's an argument over what a certain group of people know. (...) Irrelevant. The point is not whether hierarchical databases are alike to current NoSQL databases, but whether or not the proponents of NoSQL are aware of past database designs.
It doesn't matter if they are aware that they copy the old hierarchical db's or not, this won't change the final outcome. What matters is if they DO copy them, warts and all. And this, you can check.
That said, you can also check if they are aware or not. Read their interviews, papers etc, and you can easily check if this is the case or not. It's not like it's something they keep in their heads.
Again, you valiantly miss my point. The question is not whether Codd invented the relational model, but whether he "was explicitly trying to rectify these mistakes"
And again, YES, Codd was bloody "EXPLICITLY trying to rectify these mistakes". It's DB history 101 that he did so. Read even just the bloody abstract of his paper: http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
Nor are hierarchical databases inherently inferior to relational databases
As a mathematical abstraction for storing data, they are. Relational algebra is a mathematically proven and sound system, not an ad-hoc thing. (Not that common relational dbs respect relational algebra 100%).
- weavejester 15y ago"What matters is if they DO copy them, warts and all. And this, you can check." Usually it's up to the person making the statement to justify their own arguments. "YES, Codd was bloody "EXPLICITLY trying to rectify these mistakes". It's DB history 101 that he did so. Read even just the bloody abstract of his paper" You're misreading it. All tools are inadequate in some way; Codd was not trying to claim that relational databases were a universal panacea for database storage. That's not how computer science works. "As a mathematical abstraction for storing data, they are." So if I have a tree of data, in your opinion the optimum method of representing that data is as a set of tuples and not, say, a tree? "Relational algebra is a mathematically proven and sound system, not an ad-hoc thing." If the relational model is so perfect, why do SQL databases include so many compromises and deviations from the theoretical model?
- batista 15y agoUsually it's up to the person making the statement to justify their own arguments. Not if they can be easily fact checked and they are addressing them to a knowledge audience. You're misreading it. All tools are inadequate in some way; Codd was not trying to claim that relational databases were a universal panacea for database storage. That's not how computer science works. No, that's just how math --you know, like relational algebra-- works. Plus, relational databases not being a "panacea" doesn't mean tried-and-failed solutions like hierarchical bds should can come back. If the relational model is so perfect, why do SQL databases include so many compromises and deviations from the theoretical model? Because nobody cared to do it properly, for one. Because SQL caught on, and vendors followed that, instead of a purer Rel-Al solution. Because some DBs like Oracle they are based of three to four decades of legacy code that didn't follow RA right in the first place. Because some other DBs like MySQL were written very improperly, but "got the job done" and were freely available.
- weavejester 15y ago"No, that's just how math --you know, like relational algebra-- works." What exactly are you suggesting? That the relational model is the optimal solution for all database needs? "Plus, relational databases not being a "panacea" doesn't mean tried-and-failed solutions like hierarchical bds should can come back." Tried and failed? What? You do realise that every computer contains a hierarchical database in the form of a filesystem, right? And you do understand that we're talking on a forum with hierarchical posts, something a hierarchical database would be ideally suited for? And of course you're aware that in order to represent hierarchical data in relational databases, you need to inefficiently simulate a hierarchical database on top of a relational database? And knowing all this, you still believe that hierarchical databases are a "tried-and-failed" solution?
- batista 15y agoWhat exactly are you suggesting? That the relational model is the optimal solution for all database needs? No, that the relational model is the optimal solution for all data modeling needs. And that every database system that follows it is more correct (as in provably correct) and generic than any ad-hoc solution. You do realise that every computer contains a hierarchical database in the form of a filesystem, right? You do realize that a filesystem is not a generic data storage solution to use with your arbitrary data, but a specialized data structure for specific items called files and folders? Plus, do realize that OS research, from MS and Apple and the academia, has been going in the direction of making filesystems more generic, flexible and database like, and abstracting their hierarchical nature away? And of course you're aware that in order to represent hierarchical data in relational databases, you need to inefficiently simulate a hierarchical database on top of a relational database? You do realize that the "inefficiently" is just an implementation detail that has nothing to do with the relational model, right? And that the relational representation is the most flexible and correct, mathematically, possible representation of a set of data? It's basically set theory.