Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Are Relational Databases Obsolete?

Posted by kdawson on Thu Sep 06, 2007 11:27 AM
from the long-in-the-tooth dept.
jpkunst sends us to Computerworld for a look at Michael Stonebraker's opinion that RDBMSs "should be considered legacy technology." Computerworld adds some background and analysis to Stonebraker's comments, which appear in a new blog, The Database Column. Stonebraker co-created the Ingres and Postgres technology while a researcher at UC Berkeley in the early 1970s. He predicts that "column stores will take over the [data] warehouse market over time, completely displacing row stores."

Related Stories

This discussion has been archived. No new comments can be posted.
Are Relational Databases Obsolete? | Log In/Create an Account | Top | 417 comments (Spill at 50!) | Index Only | Search Discussion
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • They're not mutually exclusive. (Score:5, Insightful)

    by KingSkippus (799657) * on Thursday September 06, @11:28AM (#20495819)
    (http://skippus.blogspot.com/ | Last Journal: Sunday June 19 2005, @07:25AM)

    Okay, at the risk of sounding stupid...

    Since when is a column store database and a relational database mutually exclusive concepts? I thought that both column store and row store (i.e. traditional) databases were just different means of storing data, and had nothing to do with whether a database was relational or not. I think the article misinterpreted what he said.

    Also, I don't think it's news that Michael Stonebraker (a great name, by the way), co-founder and CEO of a company that (surprise!) happens to develop column store database software, thinks that column store databases are going to be the Next Big Thing. Right or wrong, his opinion can't exactly be considered unbiased...

  • C'mon, the guy is biased! (Score:5, Funny)

    by winkydink (650484) * <sv.dude@gmail.com> on Thursday September 06, @11:28AM (#20495821)
    (http://www.networkmirror.com/ | Last Journal: Thursday July 05, @04:34PM)
    The name of his blog is The Database Column after all.
  • by DrinkDr.Pepper (620053) on Thursday September 06, @11:33AM (#20495879)
    Relational databases aren't being obsoleted. Some schema design heuristics are.
  • dual-mode db? (Score:5, Interesting)

    Is there a dual-mode db, that lets you create a row-based or column-based "table"? I imagine cross-mode queries would kill performance, but at least you could have a system front-loaded with row tables, where data comes in, and then archive this data over time into the column-based tables, so that reads were fast.
  • well (Score:5, Informative)

    by stoolpigeon (454276) * <bittercode@gmail> on Thursday September 06, @11:34AM (#20495891)
    (http://thepeckfamily.us/ | Last Journal: Thursday November 08, @11:19AM)
    every article linked makes it clear that this is about warehousing as opposed to oltp. so is the technology dead? no - can it do everything? no
    • Re:well by lucabrasi999 (Score:2) Thursday September 06, @11:41AM
    • Re:well by jimstapleton (Score:2) Thursday September 06, @11:46AM
      • Re:well by stoolpigeon (Score:2) Thursday September 06, @11:53AM
        • Re:well by jimstapleton (Score:2) Thursday September 06, @12:01PM
          • Re:well by stoolpigeon (Score:2) Thursday September 06, @01:59PM
        • Re:well by TechyImmigrant (Score:2) Thursday September 06, @12:04PM
          • Re:well by Scaba (Score:2) Thursday September 06, @12:12PM
          • Re:well by jedidiah (Score:2) Thursday September 06, @03:43PM
            • Re:well by smellotron (Score:1) Thursday September 06, @11:22PM
          • 1 reply beneath your current threshold.
  • Rotate (Score:5, Funny)

    by Kozar_The_Malignant (738483) on Thursday September 06, @11:35AM (#20495909)

    >"column stores will take over the [data] warehouse market over time, completely displacing row stores."

    Hmmmm. So if I rotate my Paradox or Excel table by 90 degrees, I have achieved database coolness? Who knew it was so easy.

    • Re:Rotate by MightyMartian (Score:1) Thursday September 06, @11:38AM
    • Re:Rotate by jellomizer (Score:2) Thursday September 06, @11:43AM
      • Re:Rotate (Score:4, Informative)

        by Hijacked Public (999535) * on Thursday September 06, @11:50AM (#20496159)
        The most recent release (2007) will handle 2^14 columns.
        [ Parent ]
      • Re:Rotate (Score:5, Insightful)

        by ben there... (946946) on Thursday September 06, @12:12PM (#20496473)
        (Last Journal: Tuesday October 17 2006, @12:18AM)

        Excel only handles 255 Columns.
        It should be noted that if you've designed a database (rather than an Excel abomination) with more than 255 columns, chances are, you're doing it wrong.
        [ Parent ]
        • Re:Rotate by Anonymous Coward (Score:2) Thursday September 06, @01:10PM
          • Re:Rotate by Anonymous Coward (Score:1) Thursday September 06, @01:46PM
        • Re:Rotate by Tablizer (Score:1) Thursday September 06, @04:32PM
        • Re:Rotate by garyok (Score:2) Thursday September 06, @04:46PM
          • Re:Rotate by Corporate Troll (Score:1) Friday September 07, @06:33AM
        • Re:Rotate by Pseudonym (Score:2) Thursday September 06, @07:03PM
          • 1 reply beneath your current threshold.
        • Re:Rotate by sco08y (Score:2) Thursday September 06, @07:45PM
          • Re:Rotate by espressojim (Score:2) Thursday September 06, @10:29PM
          • Re:Rotate by gringer (Score:2) Thursday September 06, @10:33PM
            • 1 reply beneath your current threshold.
          • Re:Rotate by smellotron (Score:1) Thursday September 06, @11:35PM
    • Re:Rotate by kpainter (Score:2) Thursday September 06, @12:12PM
    • re: rotate - one word by villy (Score:1) Thursday September 06, @02:35PM
    • Re:Rotate by himself (Score:2) Thursday September 06, @03:17PM
    • Re:Rotate by ichigo 2.0 (Score:2) Friday September 07, @12:24AM
  • The guy... (Score:5, Interesting)

    ...is duping [slashdot.org] himself [slashdot.org] and thus Slashdot is duping the stories by extension.

    Stonebraker has been pushing the concept of column-oriented databases for quite some time now, trying to get someone, ANYONE, to listen that it's superior. While I think he has a point, I'm not sure if he really goes far enough. Our relational databases of today are heavily based on the ISAM files of yesteryear. Far too many products threw foreign keys on top of a collection of ISAMs and called it a day. Which is why we STILL have key integrity issues to this day.

    It would be nice if we could take a step back and re-engineer our databases with more modern technology in mind. e.g. Instead of passing around abstract id numbers, it would be nice if we had reference objects that abstracted programmers away from the temptation of manually managing identifiers. Data storage is another area that can be improved, with Object Databases (really just fancy relational databases with their own access methods) showing how it's possible to store something more complex than integers and varchars.

    The demands on our DBMSes are only going to grow. So there's something to be said for going back and reengineering things. If column-oriented databases are the answer, my opinion is that they're only PART of the answer. Take the redesign to its logical conclusion. Let's see databases that truly store any data, and enforce the integrity of their sets.
  • Differnt Solutions by jythie (Score:2) Thursday September 06, @11:38AM
  • You've all heard of the IBM product called DB2, right? So what was DB1? Answer: IMS, which is a hierarchical database. They were a pain in the ass to use--PSBs and all--but they were/are faster than hell and I doubt any company is going to throw them out for any reason. Same goes for relational databases. They're going nowhere. Sure, we have room for more but nobody is going to displace the RDBMS anytime soon.
    • by cdn-programmer (468978) <terr AT terralogic DOT net> on Thursday September 06, @12:35PM (#20496819)
      On the contrary.

      From a standard 3rd generation programing language one can read and write into flat files and we can do close to this with a hierachical database.

      We lose this with relational databases because the way the database organises data has no direct mapping to the way it might be set up in a standard programming language.

      What this means is that every transaction to and from the database must go through a literally horrible re-mapping. IE. The language data structures do not correspond to the RDBMS data structures and visa versa.

      As an example - in postgreSQL the last I looked at writing a simple row into a table where there were something like 100 columns in the row...

      In the 3rd generation programming languages this was just a simple structure with 100 entries.

      The data transfer from that structure generated a function call with more than 1000 parameters. This was to be mapped and re-mapped with each call to transfer data, this is even though the structure itself is static and determined at compile time.

      Next: There were about 10 parameters per field (column).

      1: Column name
      2: Column name length
      3: data type
      4: data length
      5: character representation ... etc

      finally 10: Address where the data lives.

      The thing is such a table could be set up very easily and populated with a simple loop that rolls in the required values via say a mapping function with about 10 arguments. This could be done ONCE at run time to prepare for the transfer of data and then the same table could be referenced for each call and simply an address could be sent with the transfer.

      Noooo.. It was dynamic and the data was encoded as parameters on the stack. This means the stack must be build and torn down and rebuilt for each call.

      Next - the implementation was so bad that the program would run in test mode with only a few parameter but it failed when the whole row was to be transfered.

      I gave up on that interface.

      ---------------

      Oracle had pre-compilers. They did the same damn thing. The code generated by the pre-compilers was just awful.

      ---------------

      While there is much good to say about RDBMS's in general. The issue I ran into was the interface from 3rd generation languages took a HUGE step backward. IMHO we should have a high level language statement called DBRead() and DBWrite(). In C this should generally correspond to fread() and fwrite(). If this is too complex then DBWriteStruct() could be implemented with suitable mapping helper function.

      Nooo...

      In the old days one could read and write into a flat file at a given location with a single statement or function call depending on the language. Of course "where" to read and write became a real issue and I do fully understand the complexity of file based tree structures and so forth, especially since I wrote a lot of code to implement these algorithms.

      The thing is now we have RDBMS and other solutions that give us the data organisational abilities we need - and we lose the ease of mapping these structures into a suitable structure or object in the programming language.

      I for one do not think we have stepped forward very far at all.

      -------------

      I'll toss in a case in point made by a good buddy of mine who just happens to be one of the top geophysical programmers in this city.

      One of his clients was running an application hooked to an Oracle database running on a fast SUN. Run times were measured in close to a day.

      Finally they removed the Oracle interface and replaced it with a glorified flat file. They clearly built in some indexing. The result is the run times dropped to under 20 minuets.

      As my buddy says - He will NOT use any RDBMS. He can take 5 views of the data comprising 1000's of seismic lines and the user can click on any trace number, line number, well tie and so forth and in real time he can modify all views of the data on as many as 5 s
      [ Parent ]
      • Re:IMS--Hierarchical DB harder to use? by Sharkeys-Day (Score:3) Thursday September 06, @01:06PM
      • Re:IMS--Hierarchical DB harder to use? by SixDimensionalArray (Score:2) Thursday September 06, @03:13PM
      • On the contrary.

        From a standard 3rd generation programing language one can read and write into flat files and we can do close to this with a hierachical database.
        I think there is a key distinction here. Application object store vs data management. Hierarchical db's are far better at storing object information, but *far* worse at real data managment.

        We lose this with relational databases because the way the database organises data has no direct mapping to the way it might be set up in a standard programming language.

        What this means is that every transaction to and from the database must go through a literally horrible re-mapping. IE. The language data structures do not correspond to the RDBMS data structures and visa versa.
        In LedgerSMB, we solved this by putting a functional interface in the db. Then we dynamically map the objects and their properties into functions and arguments. Works great :-)

        As an example - in postgreSQL the last I looked at writing a simple row into a table where there were something like 100 columns in the row...
        You are either trolling or you need to fire the DB architect who designed that. THere is *no way* that a 100-column table is good DB design. (Ok, mathematically, there is nothing that precludes it being good db design, but I can't even imagine a scenario where this would be OK).

        In the 3rd generation programming languages this was just a simple structure with 100 entries.
        Oh, you were the one who designed the 100-column table. Sorry..... Please go out and get some books on db design. You will thank me :-)

        The data transfer from that structure generated a function call with more than 1000 parameters. This was to be mapped and re-mapped with each call to transfer data, this is even though the structure itself is static and determined at compile time.
        IMO, your problem honestly is in the fact that you are using a monkey wrench as a ball peen hammer. It may sorta work but you are using the wrong tool for the job. If you want a simple object store use BDB or something like it. If you want a real data management solution, build your db *first.* If that is not your goal, use something other than an RDBMS.

        Next: There were about 10 parameters per field (column).

        1: Column name
        2: Column name length
        3: data type
        4: data length
        5: character representation ... etc

        finally 10: Address where the data lives.

        The thing is such a table could be set up very easily and populated with a simple loop that rolls in the required values via say a mapping function with about 10 arguments. This could be done ONCE at run time to prepare for the transfer of data and then the same table could be referenced for each call and simply an address could be sent with the transfer.

        Noooo.. It was dynamic and the data was encoded as parameters on the stack. This means the stack must be build and torn down and rebuilt for each call.
        How is this an issue with RDBMS's?

        Next - the implementation was so bad that the program would run in test mode with only a few parameter but it failed when the whole row was to be transfered.
        Again, this is not a PostgreSQL problem ;-)

        I gave up on that interface.
        From your description, that sounds like a wise choice.

        While there is much good to say about RDBMS's in general. The issue I ran into was the interface from 3rd generation languages took a HUGE step backward. IMHO we should have a high level language statement called DBRead() and DBWrite(). In C this should generally correspond to fread() and fwrite(). If this is too complex then DBWriteStruct() could be implemented with suitable mapping helper function.
        Again, this is an issue with the frameworks you are using. Personally, I tend to do the
        [ Parent ]
      • Re:IMS--Hierarchical DB harder to use? by Tablizer (Score:1) Thursday September 06, @05:04PM
      • Re:IMS--Hierarchical DB harder to use? by ozphx (Score:1) Thursday September 06, @08:35PM
      • Re:IMS--Hierarchical DB harder to use? by jadavis (Score:3) Friday September 07, @01:22AM
      • 1 reply beneath your current threshold.
    • 1 reply beneath your current threshold.
  • by littlefoo (704485) on Thursday September 06, @11:39AM (#20495981)
    No. There, that was easy !

    It's like the packet of crisps that says "Is there a 20 pound note in here !!?" - the answer should always be 'No'.

    Except maybe for one person.

    sed -e 's/crisps/potato chips/' -e 's/pound/dollar/'
  • Obviously, he's biased. But more importantly, he just said that column-store databases are going to take over the WAREHOUSE market. That doesn't mean that row-store databases are going to become obsolete, because there will always be applications out there that do a substantial amount of writing as well as reading.

    In fact, the new wave of user-generated-content websites and webapps seems to me to indicate the exact opposite - if anything, row-store databases, with their usefulness in write-heavy applications, should becoming, if anything, more and more necessary/useful on the web.

    So...chalk this one up to some grandstanding on the part of a guy who wants to put more money in his pockets...
  • Marketing hype by FUD.. typical by cwford (Score:2) Thursday September 06, @11:40AM
  • No. by Just Some Guy (Score:2) Thursday September 06, @11:41AM
    • Re:No. by dada21 (Score:2) Thursday September 06, @11:53AM
      • Re:No. by plague3106 (Score:1) Thursday September 06, @12:21PM
        • Re:No. by dada21 (Score:2) Thursday September 06, @12:37PM
          • Re:No. by LurkerXXX (Score:2) Thursday September 06, @12:44PM
            • Re:No. by dada21 (Score:2) Thursday September 06, @12:51PM
          • Re:No. by plague3106 (Score:1) Thursday September 06, @03:07PM
          • 1 reply beneath your current threshold.
      • Re:No. by Just Some Guy (Score:2) Thursday September 06, @12:32PM
        • Re:No. by dada21 (Score:2) Thursday September 06, @12:47PM
          • Re:No. by Retric (Score:2) Thursday September 06, @02:15PM
          • 1 reply beneath your current threshold.
      • Re:No. by Retric (Score:2) Thursday September 06, @01:01PM
      • 1 reply beneath your current threshold.
  • Aha! (Score:5, Funny)

    by Stanistani (808333) on Thursday September 06, @11:42AM (#20496029)
    (http://ofteninspired.com/ | Last Journal: Sunday April 01 2007, @05:49PM)
    The next big thing in DBMS:
    turning your head sideways.
    • Re:Aha! by lucabrasi999 (Score:2) Thursday September 06, @11:50AM
  • In my IT business, a vast majority of our top tier clients (grossing over US$100 million annually) are still using antiquated software that is still using a relational database backend. While these companies are generally VERY efficient in terms of providing services or products to their market, their accounting, purchase orders and project management software is decades outdated. Many of the companies that maintain these packages have merely made the interface more current (but still 5+ years old, but are still using terribly outdated software. I can't begin to tell you how often the words "FoxPro" and "MS SQL" come up and it ends up being a relational database "solution" or even worse.

    It is very frustrating because we do have programmers on staff that create third party plug-ins to these databases to try to make solutions that the OEM code doesn't. When you meet younger programmers, many of them are frustrated themselves to work on ancient solutions that have no hope of being upgraded, because these industries we work in are not in a rush to try anything new and shiny, but instead are happy with the status quo.

    I just bid a job a few months back that would cost $150,000 to upgrade their database infrastructure, and likely save the company $300,000+ annually in added efficiency, less downtime, and a more robust report system. Guess what they said? "We all think it is fine the way it is." That's money thrown out the window, employees who are frustrated (without knowing why), and forcing the company to lose efficiency by not being able to compete with newer companies that are utilizing newer technology to better their bottom line.

    Ugh.
  • Simple solution. (Score:4, Funny)

    by fahrbot-bot (874524) on Thursday September 06, @11:44AM (#20496057)
    I tried turning my Oracle server on its side to get column-store access. Strangely, I didn't see any increase in performance. Perhaps I'll try the other side...
  • Well, he WOULD say that by Random BedHead Ed (Score:2) Thursday September 06, @11:44AM
  • I don't think this makes sense. Or does it? by w4rl5ck (Score:1) Thursday September 06, @11:45AM
  • Object Databases (Score:4, Interesting)

    by jjohnson (62583) on Thursday September 06, @11:45AM (#20496101)
    Are they now officially an also-ran? Has the whole concept failed to be usefully implemented commercially, or will it be another Lisp--elegant, beautiful, and largely unused because it's kind of weird?
  • He may have a point (Score:3, Interesting)

    by duffbeer703 (177751) * on Thursday September 06, @11:49AM (#20496143)
    (http://www.dufftech.net/)
    For data warehousing, a higher or different level of abstraction may be useful and make database design easier, particularly as paralellism becomes more and more common. Storing rich markup language or media in a database might be problematic as well.

    But there's no way that RDBMS's are going away -- relational algebra simply solves too many data storage problems.
  • Are relations obsolete? (Score:5, Informative)

    by roman_mir (125474) on Thursday September 06, @11:52AM (#20496199)
    (http://booktextmark.mozdev.org/)
    Once someone shows that there is no longer a use for any relationship between data entries, then we'll be able to say that RDBMSs are obsolete. Actually both headlines (/. and the linked article) are mistaken about what Michael Stonebraker is saying. He is talking about read intensive applications mostly and he is talking about optimization of data for reading purposes. This does not mean that RDBMSs are obsolete for all uses, just that he sees a faster way to retrieve data for certain uses.
  • SenSage is earlier example of column-oriented DB by GringoGoiano (Score:2) Thursday September 06, @11:52AM
  • This will be the year by Tribbin (Score:2) Thursday September 06, @12:00PM
  • paradigm shift! (Score:5, Funny)

    by sohp (22984) <snewton@io . c om> on Thursday September 06, @12:06PM (#20496421)
    (http://www.io.com/~snewton/)
    Along with Procedural Programming [slashdot.org], this could REVOLUTIONIZE the software industry!!
  • Careful by HangingChad (Score:2) Thursday September 06, @12:11PM
    • Re:Careful by corvair2k1 (Score:2) Thursday September 06, @02:53PM
    • Re:Careful by DavidHumus (Score:1) Thursday September 06, @02:54PM
    • Re:Careful by rossifer (Score:2) Thursday September 06, @03:25PM
  • rtfa before posting (Score:4, Informative)

    by jilles (20976) on Thursday September 06, @12:12PM (#20496479)
    (http://www.jillesvangurp.com/)
    I can understand people not reading every link on a slashdot article they comment on. But if you post the bloody link, is it too much asked to actually RTFA?! It's an article about a column. The actual column is quite interesting.

    To add some content, this is about optimal storage for SQL databases in a data warehouse context where there are some interesting products that use something more optimal than the one size fits all solutions currently available from the big RDBMS vendors. The API on top is the same (i.e. SQL and other familiar dataware house APIs), which makes it quite easy to integrate.

    Regarding the obsolescence question, one size fits all will be good enough for most for some time to come. Increasingly people are more than happy with lightweight options that are even less efficient on which they slap persistence layers that reduce performance even more just because it allows them to autogenerate all the code that deals with stuffing boring data in some storage. Not having to deal with that makes it irrelevant how the database works and allows you to focus on how you work with the data rather than worrying about tables, rows and ACID properties. Autogenerating code that interacts with the database allows you to do all sorts of interesting things in the generated code and the layers underneath. For example, the hibernate (a popular persistence layer for Java) people have been integrating Apache Lucene, a popular search index product, so that you can index and search your data objects using lucene search queries rather than sql. It's a quite neat solution that adds real value (e.g. fully text searchable product catalogs are dead easy with this).

    Column based storage is just an optimization and not really that critical to the applications on top. If you need it, there are some specialized products currently. The author of the column is probably right about such solutions finding their way into mainstream products really soon. At the application level, you'll still be talking good old SQL to the damn thing though.
  • Wrong approach? (Score:4, Interesting)

    by Aladrin (926209) on Thursday September 06, @12:20PM (#20496569)
    Maybe his approach is all wrong. The database my company uses has MANY tables that are rarely written to, but a few that are written to ALL the time. Instead of trying to cram his 'one size fits all' database scheme down our throats and replace the current 'one size fits all' database scheme, maybe he should be trying to create a database engine that can do both.

    I think you would have to determine the main use of the table beforehand (write-seldom or write-often), but the DB engine could use a different scheme for each table that way. I know some will claim that it can't be more efficient to split things this way, but remember that this guy is claiming 50x the speed for write-seldom operations.

    As for Relational Databases... How is this exclusive to that? This is simply how the data is stored and accessed. If he is claiming 50x speed-up because he doesn't deal with the relational stuff, that's bunk. You could write a row-store database with much greater speed as well, given those parameters.
  • Specialized versus generalized? (Score:4, Interesting)

    by dpbsmith (263124) on Thursday September 06, @12:20PM (#20496589)
    (http://www.dpbsmith.com/)
    '"In every major application area I can think of, it is possible to build a SQL DBMS engine with vertical market-specific internals that outperforms the 'one size fits all' engines by a factor of 50 or so," he wrote.'

    I know very little about DBMS systems, but I thought it has always been true that you can achieve monumental performance increases by building somewhat specialized database systems in which the internals of the system make assumptions, and are tied to, the structure of the data being modelled. In fact, when RDBMS systems came in, one of the knocks on them was that they were far more resource-intensive than the hierarchical databases they displaced. However, the carved-in-stone assumptions of those models made them difficult and expensive change or repurposed.

    I'm sure I remember innumerable articles insisting that "relational databases don't need to be really all that much terribly slower if you know how to optimize this that and the other thing..."

    In other words, as an outsider viewing from a distance, I've assumed that the increasing use of RDBMS was an indication that in the real world it turned out that it was better to be slow, flexible, and general, than fast, rigid, and specialized.

    So, what is a "column store?" It sounds like it is an agile, rapid development methodology for generating fast, rigid, specialized databases?
  • Mildly Confused by Duffy13 (Score:1) Thursday September 06, @12:21PM
  • Soon... (Score:4, Funny)

    by lpangelrob (714473) on Thursday September 06, @12:23PM (#20496641)

    The near future. Mr. Stonebraker walks into a store.

    Mr. Stonebraker: How much are these plums?
    Checkout girl: Plums? They're $0.99, $1.39, $12.49, $15.99, $26.38, $13.37...

    • Re:Soon... by lpangelrob (Score:2) Thursday September 06, @01:30PM
    • 1 reply beneath your current threshold.
  • kdawson, you asshole by Sloppy (Score:2) Thursday September 06, @12:25PM
  • This can't be right... by QunaLop (Score:1) Thursday September 06, @12:26PM
  • When is any Data technique obsolete? by kildurin (Score:1) Thursday September 06, @12:33PM
  • I would love to have a DB that stores it both ways by Boap (Score:1) Thursday September 06, @12:35PM
  • It's a simple trick, really by MarsDefenseMinister (Score:2) Thursday September 06, @12:36PM
  • I agree by GamblerZG (Score:1) Thursday September 06, @12:37PM
  • Uh, isn't the problem finding the correct row? by w3woody (Score:2) Thursday September 06, @12:48PM
  • This is pretty ridiculous by hey! (Score:2) Thursday September 06, @12:57PM
    • 1 reply beneath your current threshold.
  • If i had $1 for everyone that predicted... by pjr.cc (Score:2) Thursday September 06, @01:06PM
  • From the wikipedia link by sheldon (Score:2) Thursday September 06, @01:13PM
  • Non relational database models by Edward Ka-Spel (Score:1) Thursday September 06, @01:22PM
  • Columns stores are RDMB by suv4x4 (Score:2) Thursday September 06, @01:22PM
  • Overused, Not Obsolete by CyberLife (Score:2) Thursday September 06, @01:25PM
  • One size fits all by DragonWriter (Score:2) Thursday September 06, @01:26PM
  • Far from it! (Score:3, Funny)

    by jbeaupre (752124) on Thursday September 06, @01:36PM (#20497581)
    Living in Kentucky, I can tell you a relational database would be handy if actually used. Why I've got in-laws that, well, I won't go into details. Let's just say I suspect my wife married an out of stater for fresh genes.

    What? Not that kind of relational?
  • I've looked at Vertica... by puppetman (Score:2) Thursday September 06, @01:36PM
  • show me a database that isn't relational? by DragonTHC (Score:2) Thursday September 06, @01:55PM
  • Database conversion? by gorckat (Score:1) Thursday September 06, @02:11PM
  • think that's fast? by myatmpinis1234 (Score:1) Thursday September 06, @02:22PM
  • Stonebraker is wrong by Master of Transhuman (Score:1) Thursday September 06, @02:26PM
  • perhaps it's good for websites too by fmoliveira (Score:1) Thursday September 06, @02:39PM
  • Only a new storage engine for MySql by xluap (Score:1) Thursday September 06, @03:03PM
  • Column oriented database = IMS? by scottsk (Score:2) Thursday September 06, @03:13PM
  • ODBMS (Score:3, Informative)

    by Lodragandraoidh (639696) on Thursday September 06, @03:35PM (#20499125)
    (Last Journal: Wednesday January 05 2005, @01:10PM)
    I think the object database management system (ODBMS) [wikipedia.org] will overtake RDBMSs in the future for several reasons (from the link and my own musings):

    1. Object-oriented databases are designed to work well with object-oriented programming languages such as Python, Java, C#, Visual Basic .NET, C++ and Smalltalk. This makes implimentation quick and easy - yet stable and scalable at the same time.

    2. ODBMSs use exactly the same model as object-oriented programming languages.

    3. It is also worth noting that object databases hold the record for the World's largest database (over 1000 Terabytes at Stanford Linear Accelerator Center).

    4. Access to data can be faster because joins are often not needed (as in a tabular implementation of a relational database). This is because an object can be retrieved directly without a search, by following pointers (e.g. the objects are stored in trees for fast retrieval). Dynamic indexing schemes further speeds up retrieval of full text searches.

    5. Provides data persistence to applications that are not necessarily 'always on' - e.g. HTTP based stateless applications.

    I think RDBMSs will be around for some time -- but they will be relegated to more structured situations and smaller data sets. ODBMSs will take over where data is changing, persistence is critical, data types are mostly large binary objects with associated meta-data, and datasets are humongous.

    Right now my favorite ODBMS is the ZODB (Zope Object Data Base) [wikipedia.org] - an ODBMS system tightly integrated with both Python (implimented using Python's native 'pickle' object persistence functionality), and the Zope web application development system - which itself is built with and uses Python. You can learn more about Zope at Zope.org [zope.org].
    • Re:ODBMS by dcam (Score:2) Friday September 07, @03:05AM
    • Re:ODBMS by Tablizer (Score:1) Friday September 07, @04:50PM
    • Re:ODBMS by Lodragandraoidh (Score:2) Monday September 10, @03:22PM
    • 1 reply beneath your current threshold.
  • Are computers obsolete? by bb5ch39t (Score:1) Thursday September 06, @03:35PM
  • IQ by PigIronBob (Score:1) Thursday September 06, @04:46PM
  • Sounds Like Krap... by Nom du Keyboard (Score:2) Thursday September 06, @04:49PM
  • by Jim Ethanol (613572) on Thursday September 06, @05:16PM (#20500249)
    (http://www.shon.org/)
    The next geekSessions [geeksessions.com] is on this topic. If you're interested in hearing about alternatives to RDBMS in and using them in practice, take a look at the site. The event will be held on October 2nd in downtown SF and will also be available via webcast. In addition to the presentations, we'll have a Q&A session along with some food and FREE BEER. Speakers at the event are:

    Josh Berkus from the PostgreSQL core team

    Paul Querna from Apache and Bloglines (wrote his own filesystem for Bloglines)

    Chad Walters from Powerset who is implementing BigTable there.

    Hope to see you there!
  • tons of problems... by ebunga (Score:2) Thursday September 06, @05:45PM
  • by yl_mra (809735) on Thursday September 06, @07:32PM (#20501757)
    To be a relational database the database must meet a very specific set of requirements. While a standard view of the databases from the DB administrators and normal users view may allow limited ways to manipulate the data, looking at the actual storage structures and how to efficiently use the resultant files can provide some extremely efficient computational methods. For example, if one structures data in a relational database with few fields, perhaps as low as two, per representation where each representation represents a single file then the data read directly from the file, the reads may be via flat file techniques, into an array or efficient storage table, then you achieve the best of both worlds. If the above example requires compressed data, then the relational data must be read from a single file via DB operations with two different mappings overlaying the single database file. The programmer must understand the data orientation so that compression/decompression occurs correctly. Extremely fast reads/writes may be achieved this way. The advantage of a column oriented database is that the files are inherently optimized for data mining without the need to hire an expensive programmer. If the company had multiple requirements for the same data then multiple databases may be required, unless they are willing to hire the expensive programmer. A key problem results when multiple databases loose synchronization. BTW, row based databases optimized for storage size (footprint) compress data by column, not by row or record. Using these techniques, I have achieved far greater data compression than comparable Google stored data.
  • For most users this does not matter (Score:3, Insightful)

    by ChrisA90278 (905188) on Thursday September 06, @07:56PM (#20501931)
    Michael Stonebraker is certainly a well respected nae and he was been right on these issues in the past. Coinsidently I'd testing my software with a new version of PostgreSQL as I type. I think colum vs. row storage can be considered simply a option. I can even see it being an option that you specify at the table level. Most DBMS users really don't have much data. Today a 1,000,000 row table can be cached in RAM on even a low-end PC based server. Once cached in RAM row vs. column storage does not matter. I would imagine that 99& of the database table in te world have far fewer then a million rows. This discussion applies only to the very few that are really large.
  • Again with the computerworld blah, blah by dgun (Score:1) Thursday September 06, @09:13PM
  • SSDs and column stores... (Score:3, Insightful)

    by Kjella (173770) on Thursday September 06, @09:14PM (#20502565)
    (http://slashdot.org/)
    Will the imminent transition to SSDs make any difference? Because row-based DBs means you're typically reading large chunks (one raw) sequentially, while columns stores means you're reading many small (number of columns) chunks for every row. I'd think that if random access time was almost none, you'd get almost the same write performance while read performance could be greatly improved because you only read the columns you need. It'd certainly make DB design easier too if you didn't have to worry about putting very light information in the same table as heavy blobs.
  • Just like PIC... by FlyingGuy (Score:2) Thursday September 06, @10:11PM
  • bullshit by m2943 (Score:1) Thursday September 06, @10:15PM
  • Physical level vs. data model? by harmonica (Score:2) Thursday September 06, @11:31PM
  • not just a specialized technology by neonsignal (Score:1) Friday September 07, @12:47AM
  • Metakit is a great column-oriented database engine by fbonnet (Score:1) Friday September 07, @02:51AM
  • No by chriseyre2000 (Score:1) Friday September 07, @05:08AM
  • Not obsolete, never implemented by Channing (Score:1) Friday September 07, @05:20AM
  • Column Store Database = Index by MarkH (Score:1) Friday September 07, @07:05AM
  • Do I misundersand something here? by brokeninside (Score:1) Friday September 07, @09:20AM
  • Just one comment... by foniksonik (Score:2) Friday September 07, @09:31AM
  • New ODBMS debate offers $300 purse by LeeAn (Score:1) Tuesday September 11, @10:37AM
  • Re:IDG *owns* Slashdot These Days... by kevin_conaway (Score:1) Thursday September 06, @11:40AM
  • Re:slightly OT by MemoryDragon (Score:2) Thursday September 06, @11:42AM
  • Re:slightly OT by plague3106 (Score:1) Thursday September 06, @11:45AM
  • Re:slightly OT by lucabrasi999 (Score:2) Thursday September 06, @11:46AM
    • 1 reply beneath your current threshold.
  • Re:slightly OT by Just Some Guy (Score:2) Thursday September 06, @12:17PM
  • Re:XML DB by _Shad0w_ (Score:2) Friday September 07, @12:51AM
  • 18 replies beneath your current threshold.