From: Martijn Tonies Date: February 13 2009 9:38pm Subject: Re: Is the Relational Database Doomed? List-Archive: http://lists.mysql.com/mysql/216307 Message-Id: <02c401c98e23$5e9e6c10$1401a8c0@martijnws> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit >I thought this article was really good at explaining the differences of > relational DBs and Key/Value stores and some other models coming down > the pipe (i.e. the new buzzword "Cloud Computing"). > > http://www.readwriteweb.com/archives/is_the_relational_database_doomed.php > Well, no, it's not doomed. It seems that the author is mistaken a -logical- thingy ("relational") with a -physical- thingy ("performance"). It's the logic that makes the RDBMS so capable, not the performance. The performance of the first RBDMSses was incredibly bad, yet, they were still being pushed forward and in the end the hardware and its implementations caught up to get things to an "acceptable" performance level. However, this has nothing to do with the logical concept, that is the RDBMS. To point out "issues" with the article: - although many of todays implementations use SQL as the "language" to get and put data, this has nothing to do with the RDBMS itself. - As a "feature" of the key/value database it is mentioned that data integrity logic is contained in the application code! This is something many were glad to leave behind when the RDBMS came along! This is not a step forward, it is a step backward. - APIs have nothing to do with the RDBMS itself, so there's nothing to "pro" and "con" here. - "data storage", once more, is NOT a feature of the RDBMS, so it has nothing to do with "application code structure". Luckily, some of the drawbacks of the "key/value database" are mentioned. Yet, I fail to see how this type of "data storage" could make it into the mainstream. The database implementation cannot guarantee it's integrity, so what use is it? Under "Making a decision", the article says the following as to why you should choose a non-relation database implementation: 1) Your data is heavily document-oriented, making it a more natural fit with the key/value data model than the relational data model. Say what now? 2) Your development environment is heavily object-oriented, and a key/value database could minimize the need for "plumbing" code. It should be about the data, not about the coding. There are plenty of frameworks that can do the "plumbing" for you and you can keep your working, integrity checking RDBMS... 3) The data store is cheap and integrates easily with your vendor's web services platform. I fail to see why "web services" rules out RDBMS? 4) Your foremost concern is on-demand, high-end scalability -- that is, large-scale, distributed scalability, the kind that can't be achieved simply by scaling up. Why do you actually -store- the data if its not your main concern? Yes, I can imagine some "fuzzy" data storage, like Google returning "about 4,343,400 documents" instead of an exact number, but ... Can you give me more examples? With regards, Martijn Tonies Upscene Productions http://www.upscene.com Download Database Workbench for Oracle, MS SQL Server, Sybase SQL Anywhere, MySQL, InterBase, NexusDB and Firebird! Database questions? Check the forum: http://www.databasedevelopmentforum.com