Slashdot Mirror


Is the Relational Database Doomed?

DB Guy writes "There's an article over on Read Write Web about what the future of relational databases looks like when faced with new challenges to its dominance from key/value stores, such as SimpleDB, CouchDB, Project Voldemort and BigTable. The conclusion suggests that relational databases and key value stores aren't really mutually exclusive and instead are different tools for different requirements."

18 of 344 comments (clear)

  1. Hey! by MightyMartian · · Score: 4, Insightful

    Hey, read my article! Just to make sure you do, I'll pull a Dvorak and put in some incredibly sensational headline about how RDBMs are dewmed!!!!!! BWAHAHA, feed my advertisers!!!!

    (Tune in ext week, when I write about how C programming is going to become extinct in the light of fantastic new development tools like C# and Ruby on Rails!!!)

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
    1. Re:Hey! by dkleinsc · · Score: 5, Insightful

      Especially when the claim is as ridiculous as this one.

      There's a reason relational databases took over the world of databases: They provide a good combination of flexibility and structure to efficiently represent data. Which is what databases are supposed to do.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    2. Re:Hey! by Just+Some+Guy · · Score: 5, Insightful

      There's a reason relational databases took over the world of databases: They provide a good combination of flexibility and structure to efficiently represent data.

      Especially since so many databases really are inherently relational. The textbook example of 1-customer:n-invoices, 1-invoice:n-items plays out quite a bit in the workplace.

      --
      Dewey, what part of this looks like authorities should be involved?
  2. Re:new record by bFusion · · Score: 4, Insightful

    Well the '?' means that there's a question. The summary gave the conclusion to that question.

  3. Finally the OODB people will by thammoud · · Score: 5, Insightful

    Leave us RDBMS dinosaurs alone. String Name/Value pairs, that is a great innovation. In other news, Sun will be dropping all types from the Java object system and rely on the VOID type. Idiots.

  4. ?'s meaning - literal and implied by qbzzt · · Score: 5, Insightful

    In headlines, "?" implies that something is a serious question, whose answer is likely to be yes. One that makes it worth spending the time to read the article.

    Imagine the headline said "Does Obama Smoke Crack?" and the article had a bunch of stuff about the president, with a last paragraph saying: "There is absolutely no reason to thing that President Obama has ever smoked crack."

    --
    -- Support a free market in the field of government
    1. Re:?'s meaning - literal and implied by digitig · · Score: 4, Insightful

      In headlines, "?" implies that something is a sensationalized question, whose answer is "almost certainly, no".

      Fixed that for ya.

      --
      Quidnam Latine loqui modo coepi?
  5. Ridiculous by Eravnrekaree · · Score: 3, Insightful

    Really rational is the best way to take a data set and be able to access it in various ways. Many of the other concepts are indeed regressions and reintroduce problems a relational database solves. Relational allows you to able to display and view data in various different ways and apply the dataset in new ways, ways that may not have originally been a part of the original design of the application. Every time we hear someone harp about some new database technology that reintroduces all of the problems of the past, but relational is still the best and most versatile way to store your data in a way that allows for query flexibility.

  6. Is the automobile doomed? by Renegade+Iconoclast · · Score: 3, Insightful

    Turns out, there's something called a "skateboard." You can use it to travel as far as the Quickie Mart, with nothing but your feet to propel it.

    In conclusion, skateboards and automobiles aren't the same thing, so probably not.

  7. Re:ah, stupid. by poot_rootbeer · · Score: 3, Insightful

    If you really wanted to have a database just do key / store values, you could quite easily do that in any rdms.

    Sure, but it's not likely that a key/value store implemented within a general-purpose RDBMS can achieve the same raw performance that a system designed to do nothing but implement a key/value store -- nor the distributability, for that matter.

  8. Some credibility... by jernejk · · Score: 3, Insightful

    form the article: "For example, a relatively simple SELECT statement could have hundreds of potential query execution paths, which the optimizer would evaluate at run time. All of this is hidden to us as users, but under the cover, RDBMS determines the "execution plan" that best answers our requests by using things like cost-based algorithms." So, you have no idea how optimizers work and how you can access tuning information, and you'd like to tell us RDBMSs are bad? Get of my lawn! (yay, I'm getting old)

  9. Re:I see the problem! by poot_rootbeer · · Score: 3, Insightful

    they think Nissan makes the Civic!

    This lack of data integrity could have been prevented if they had used a relational database...

  10. Re:Supid people who don't understand data by sl0ppy · · Score: 5, Insightful

    The relational database is not going anywhere and nothing in that article is based on any firm understanding of managing data.

    no, the relational database is not going anywhere, you are correct. but, that does not mean that there aren't instances where a non-relational database, with the addition of map/reduce, aren't extremely useful.

    non-relational databases have been around for decades, and are in use for quite a number of applications involving rapid development and storage of very large records. couple this with map/reduce, and you have the ability to scale quickly with very large datasets.

    scaling quickly is a very difficult problem to solve with an RDBMS - you either need to continue to throw more hardware at the problem, to the point of diminishing returns, or re-architect your data at the cost of possible significant downtime, while still attempting to serve up the data in a timely manner. i've been deep in the bowels of oracle RAC, fighting to get just 5% more speed out of a query over a billion rows and realizing that i have to start over with a new schema, just to squeeze more data out. compare that to simply adding another machine and letting the map functionality run across one more cpu before returning it for the reduce.

    Is the notion of a "join" obsolete? No, but it is typically impractical in a high volume system. You would probably use denormalization as a strategy.

    once again, correct, but having to denormalize to a snowflake or a star isn't always the best solution. you're taking the best parts of the relational database model, and throwing them out - normalization, referential integrity, just to squeeze more out of something that may not be the best tool for the job.

    do you hammer with a wrench? i have before, and i managed to hurt my thumb.

  11. Just to be pendactic by plopez · · Score: 3, Insightful

    There really isn't a true implementation of the relational model as per Codd and Date.

    Also, SQL is a nightmare. A badly designed programming language which is not quite functional and not quite procedural and so needs a bunch of hacks to work properly. And then there is the issue of NULLS. And the fact that you can end up with ugly bag operations and path dependencies in SQL.

    And just to start yet another flame war (Iknow, I just know some one is going to mod me as a troll today) key/value is just another way of saying "network database".

    And another thing which I will probably get hammered for, if you normalize a DB properly you will get you objects almost for free. And vice versa. Where I see people having problems is that they either are :

    1) lazy about defining and understanding their data
    2) or likewise for their objects
    3) or both.

    If you do it properly will will get a nice set of multidimensional objects and fact/attribute tables which are orthogonal and lean. Easy to understand, search, join, build, compose, decompose, signal and track.

    As opposed to a snarled up hacked together, overloaded, over inherited nightmare with hidden dependencies which I have seen too many times.

    OK, you can slam me now.

    --
    putting the 'B' in LGBTQ+
  12. Re:SQL is the problem, not RDBMSs by Just+Some+Guy · · Score: 4, Insightful

    Database operations do not need to look like code or algorithms, the only reason they do is to provide jobs for database programmers.

    From Wikipedia:

    Relational database theory uses a different set of mathematical-based terms, which are equivalent, or roughly equivalent, to SQL database terminology.

    SQL looks like SQL because it's based on set theory. As an exercise, invent your own language that's as powerful (read: also based on a strong theoretical basis) but simpler. See you in a couple of decades!

    --
    Dewey, what part of this looks like authorities should be involved?
  13. Re:Yes, but not soon. by horza · · Score: 3, Insightful

    let me guess, you don't like mssql because it's microsoft? what a fucking sheep, mssql is a great database.
    oh and i've used all the others and for you to suggest mysql over mssql tells a lot...

    MSSQL? Isn't that the only database that isn't cross platform these days? Why would anybody want to use MSSQL outside of .Net developers? On a side note, why is it that only MSSQL appears to get crippled by worms and none of the others?

    Phillip.

  14. Re:Yes, but not soon. by Estanislao+Mart�nez · · Score: 3, Insightful

    Yes, these newer simple key/value databases like BigTable and CouchDB are effectively a subset of RDBMS functionality, so of course the same thing can be implemented relationally by just not using features.

    What worries me about these arguments, however, is that they're missing a point that's very similar to yours here: these high-performance key-value databases can be implemented as features in an RDBMS. Basically, if you have a technology that allows some limited type of database to be distributed across tons of nodes and to be queried really fast, well, that's a kind of limited-functionality materialized view with a special engine to access it. So put it in as a subsystem to the full RDBMS, and use your plain old full-featured relational engine as the system of record that solves the concurrent transactional update and data integrity problems, and have it also push out the deltas to the specialized store that supports the the high-performance distributed querying.

    Nobody is denying that there are many applications where you don't need all that the relational model provides, and that those applications can be made to perform faster by not providing certain features. What people repeatedly fail to understand is that this is not a refutation of the relational data model, because it is a logical and general data model that's capable of modeling the data in such applications, and does not dictate the implementation.

  15. Re:Here's a match.. by jadavis · · Score: 3, Insightful

    We need to stop referencing data by where it is and start referencing it by what it is.

    You say that without any explanation of your apparent position that the relational model requires you to reference data by "where it is".

    You seem to think that the semantics of your system are somehow richer -- providing "information" rather than "data".

    Do you even know what a relation is?

    --
    Social scientists are inspired by theories; scientists are humbled by facts.