Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Database Bigwigs Lead Stealthy Open Source Startup

Posted by ScuttleMonkey on Wed Feb 14, 2007 05:17 PM
from the hope-it-isn't-vaporcorp dept.
BobB writes "Michael Stonebraker, who cooked up the Ingres and Postgres database management systems, is back with a stealthy startup called Vertica. And not just him, he has recruited former Oracle bigwigs Ray Lane and Jerry Held to give the company a boost before its software leaves beta testing. The promise — a Linux-based system that handles queries 100 times faster than traditional relational database management systems."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Partners (Score:5, Informative)

    by stoolpigeon (454276) * <bittercode@gmail> on Wednesday February 14 2007, @05:22PM (#18016580) Homepage Journal
    The article mentions that redhat and hp are listed among their partners. i'm not surprised by red hat or informatica (another partner though they aren't mentioned in the article) but i was a little surprised by hp - since they have been trying to get the word out [hp.com] about their own data warehousing and bi stuff. i wonder what that indicates about how they regard this new player.
     
    also interesting is the wikipedia article on Michael Stonebraker [wikipedia.org] if you aren't already familiar with him.
    • Re:Partners (Score:5, Insightful)

      by AKAImBatman (238306) * <akaimbatman@NOsPaM.gmail.com> on Wednesday February 14 2007, @05:25PM (#18016644) Homepage Journal

      i was a little surprised by hp - since they have been trying to get the word out about their own data warehousing and bi stuff.

      It's called "hedging your bets". If the little company doesn't work out, no big deal. If it does, then HP is in a position to either benefit from contractual relations, acquire it, or squash it. Whichever happens to be their fancy.
  • by Anonymous Coward on Wednesday February 14 2007, @05:23PM (#18016610)
    The question is when will this be ported to a mainstream OS such as Windows?

  • by varmittang (849469) on Wednesday February 14 2007, @05:24PM (#18016616) Homepage
    It was LAMP, now its LAVA. Much cooler name.
  • buzzword enabled (Score:4, Insightful)

    by hey (83763) on Wednesday February 14 2007, @05:24PM (#18016620) Journal
    "grid-enabled, column-oriented relational database management system"
    What does that mean?
    If anything.
    • Re:buzzword enabled (Score:5, Informative)

      by c0nst (655115) on Wednesday February 14 2007, @05:59PM (#18017032)
      Here you go:
      Stonebraker, Mike; et al. (2005). C-Store: A Column-oriented DBMS [mit.edu] (PDF). Proceedings of the 31st VLDB Conference.
      From the paper:
      Among the many differences in its design are: storage of data by column rather than by row, careful coding and packing of objects into storage including main memory during query processing, storing an overlapping collection of columnoriented projections, rather than the current fare of tables and indexes, a non-traditional implementation of transactions which includes high availability and snapshot isolation for read-only transactions, and the extensive use of bitmap indexes to complement B-tree structures
      :-)
    • by Jherek Carnelian (831679) on Wednesday February 14 2007, @06:39PM (#18017472)

      "grid-enabled, column-oriented relational database management system"
      What does that mean?

      Uh, a spreadsheet?
    • Re:buzzword enabled (Score:5, Informative)

      by perfczar (1064296) on Wednesday February 14 2007, @06:54PM (#18017616)
      Buzzwords, yes, but they have a little bit of meaning left. Grid-enabled means that it works on a "shared nothing" environment, that you can use a networked cluster of commodity computers if one isn't enough to hold the data, and so on. This is in contrast to using one big huge box (big computer, big storage array, or whatever). Of course many databases are similarly grid-enabled. Column-oriented means that data is stored on disk by column, this makes it fast to process a subset of columns that touch lots of rows, as is typical in data warehouse applications. This is a key architectural difference among databases; Oracle, DB2, etc., are "row stores", while Sybase IQ, Vertica, etc. are "column stores". Note: I work for Vertica Systems
    • Re:buzzword enabled (Score:5, Informative)

      by ChrisA90278 (905188) on Wednesday February 14 2007, @06:54PM (#18017618)
      Column oriented means it can read data in from one column from the disk without pulling in all the other bytes in the row. Possibly much less reduced I/O bandwidth usage depending on the query. (kind of like if you turned the normal file structure side ways.)

      Grid enabled - This means the DBMS can make use of a large distributed group of computers and potentially have access to a huge amount of computing power. The typical DBMS runs on at beat a multi-processor server. Thi sis kind of like a DBMS server running a a "seti at home" type network.

      Going solely by the developer's reputation, this could be a big deal. He is not some random hacker. He is a well known university professor who has several times in the past lead projects that have been revolutionary and turned the field around. His ideas are widely used Still "100X faster" is a big claim. Lots of smart people have been working on DMBSes for many years, a two order of magnitude improvement is a "I will have to see it to believe it" type claim

      I'm using PostgreSQL to handle some telemetry data right now. If my 45 minute run times can be reduced to seconds, I'll be happy.

      • by Virtual_Raider (52165) on Wednesday February 14 2007, @10:29PM (#18019562) Homepage

        Still "100X faster" is a big claim. Lots of smart people have been working on DMBSes for many years, a two order of magnitude improvement is a "I will have to see it to believe it" type claim

        Oh ye of little faith, here i present thee with The Facts. Or a paper at the very least: One size fits all? a Benchmark [mit.edu]

      • by Kjella (173770) on Thursday February 15 2007, @09:18AM (#18022480) Homepage
        Under ideal conditions, I don't have a problem seeing that:

        1. Make up lots of 100-column+ tables
        2. Select one column from each table
        3. If you're IO bound, you should now see about a 100:1 increase

        However, most real data models don't work that way. Usually you put stuff that's useful at the same time in the same table, in which case it probably won't make much of a difference.
  • Perfect timing (Score:4, Interesting)

    by defile (1059) on Wednesday February 14 2007, @05:31PM (#18016736) Homepage Journal

    Loading a million random records out of a set of one hundred million records is an enormously difficult task for an RDBMS on commodity hardware (e.g. magnetic rotating disks). This is a more common task than you would think. ORM systems backed by an RDBMS, such as Ruby on Rails, Django, Hibernate, have exactly this requirement and will only demand more as these models become more mainstream. Think about what search engines have to do: find millions among billions, all to show a user a dozen.

    These problems are solvable now, but there's a lot of duplication of effort going on that a smart database vendor could solve for us.

  • by georgewilliamherbert (211790) on Wednesday February 14 2007, @05:33PM (#18016774)
    Vertica's website has had all the details about what they're doing for months. They've had a Wikipedia article for a long time.

    This is some new Network World definition of "Stealthy", apparently...
  • Best of luck (Score:5, Insightful)

    by 140Mandak262Jamuna (970587) on Wednesday February 14 2007, @05:40PM (#18016836) Journal
    I dont want to rain in their parade. But typically whenever people start with a spec like "100 times better than what they can do", they assume they will continue to perform at current levels while these people take years to develop and mature their new technology. In the real world, the traditional methods too improve and unless they can maintain a 100x lead continually the new technology flops.

    What happened to Gallium Arsenide replacing silicon? What happened to solid state memory completely repalcing magnetic disks? Technology field is littered with such fiascos.

  • Speculation (Score:5, Informative)

    by cartman (18204) on Wednesday February 14 2007, @05:55PM (#18016998)

    I noticed that Stonebraker is the company founder. Stonebraker has contributed extensively to database research over the years.

    He's known for advocating the "shared-nothing" approach to parallel databases. The shared-nothing approach means that nodes in the parallel database don't attempt memory or cache synchronization, and each node has its own commodity disk array. In a shared-nothing parallel database, the data is "partitioned" across servers. So, for example, rows with id's 1-10 would be on the first server, 11-20 on the second server, etc. Executing the SQL query "select * from table where id < 1000" would send requests to multiple commodity servers and then aggregate the results. The optimizer is modified to take into account network bandwidth and latency, etc.

    My guess on what they're doing: they're working on a shared-nothing parallel RDBMS with an in-memory client similar to Oracle TimesTen.

    The are a few drawbacks to the shared-nothing approach: 1) the RDBMS software is more difficult to implement; 2) since the data is partitioned, any transaction that updates tuples on more than one database node requires a two-phase distributed commit, which is much more expensive; and 3) some queries are more expensive because they require transmitting large amounts of data over the network rather than a memory bus, and in rare cases that network overhead cannot be eliminated by the optimizer.

    The advantage, of course, is linear scalability by adding commodity hardware. No more need for $3M+ boxes.

  • Given that... (Score:5, Informative)

    by CodeShark (17400) <(ellsworthpc) (at) (yahoo.com)> on Wednesday February 14 2007, @06:26PM (#18017312) Homepage
    MonetDb, [monetdb.cwi.nl] is similarly configured as a column oriented AND Open source, and appears to clean the clock of most of the major commercial and Open Source databases for huge data set queries, (see the benchmarks at axyana.com [axyana.com] for an example), where is Vertica's market advantage supposed to be?


    By which I am asking that while Vertica is obviously well-researched and well funded as a start up, MonetDB is well-researched, already benchmarked and available now.. So why would I wait to invest my time, energy, and $$ in a proprietary future product rather than the time and energy, etc. to develop market leadership in my chosen corporate area in the present?

    • Re:Given that... (Score:5, Informative)

      by perfczar (1064296) on Wednesday February 14 2007, @07:46PM (#18018116)

      Here are a few of the technical reasons one might choose Vertica over Monet; I'll not get into business issues.


      Vertica is designed for large amounts of data, and is optimized for disk based systems. Monet does benchmarks against TPC-H Scale Factor 5 (30 million records, an amount which would fit in main memory) running on Postgres; Vertica does TPC-H Scale factor 1000 (6 billion records) against commercial row stores tuned by people who do such work to make a living.

      Vertica runs on multi-node clusters, allowing the cluster to grow as the amount of data grows, while Monet doesn't scale to multiple machines.

      There are numerous differences in the transaction systems, update architecure, tolerance of hardware failure, and so on, that make Vertica better suited to the enterprise DW market.


      Note: I work for Vertica
  • by ramakant (256472) on Wednesday February 14 2007, @07:37PM (#18018052)
    This looks like it will be a commercial version of the Michael Stonebraker and MIT developed C-Store column-oriented:
    - Web site: http://db.lcs.mit.edu/projects/cstore/ [mit.edu]
    - Wikipedia Entry: http://en.wikipedia.org/wiki/C-Store [wikipedia.org]
    They distribute the source with a fairly liberal license, so this looks like something the open source community could pick up and run with.
    • Re:Column oriented? (Score:5, Informative)

      by AKAImBatman (238306) * <akaimbatman@NOsPaM.gmail.com> on Wednesday February 14 2007, @05:43PM (#18016880) Homepage Journal

      A column oriented relational database? I'd like some more details on how that works.

      http://en.wikipedia.org/wiki/Column-oriented_DBMS [wikipedia.org]

      It's basically an optimization of the current data access patterns. Databases have been row-oriented for decades, because they evolved from fixed width flat files. Once we eliminated COBOL-style accesses to databases, the full row data became less important. It became far more important to be able to scan a column as fast as possible. For example:

      select * from names where lastname LIKE '%son'

      The above query might have an index available to find what it needs. But it's just as likely that the database will need to do a table-scan. Since table-scans involve looking through every record in the database, you can imagine that it would be faster to just load the lastname column rather than loading every row in the database just to discard 90% of that data.
    • by georgewilliamherbert (211790) on Wednesday February 14 2007, @05:47PM (#18016910)

      A column oriented relational database? I'd like some more details on how that works.

      Column oriented is easy. Imagine a database as a set of tables, each of which has rows of data records, in organized columns (column 1 = "User name", column 2 = "User ID", column 3 = "Favorite slashdot admin", etc).

      Normal row-oriented databases store records which have a row of the data: "User name", "User ID", "Favorite slashdot admin" for user row #12345.

      Column oriented databases store records which have a column of the data: "User name" for user rows 1-100,000; "User ID" for user rows 1-100,000; etc.

      Updates are faster with row-oriented: you access the last record file and append something, or access an intermediate record file and update one "row" across.

      Searches are faster with column-oriented: you access the record file for "Favorite slashdot admin" and look for entries which say "Phred", and then output the list of rows of data which match. Instead of going through the whole database top to bottom for the search, you just search on the one column. If you have 100 columns of data, then you look through 1/100th of the total data in the search. To pull data out, you then have to look at all the column files and index in the right number of records, but that goes relatively quickly.

      Indexes are useful, but column-oriented is more efficient in some ways. You don't have to maintain the indexes, and can just automatically search any column without having indexed it, in a reasonably efficient manner.

      Column-oriented also lets you compress the data on the fly efficiently: all the records are the same data type (string, integer, date, whatever) and lists of same data types compress well, and uncompress typically far faster than you can pull them off disk, so you can just automatically do it for all the data and save both speed and time...

    • by perfczar (1064296) on Wednesday February 14 2007, @07:10PM (#18017784)
      The Vertica business model is to sell a database engine (software to store and query data). Clearly use of standard interfaces is important, otherwise nobody would be able to make use of the product (which really ends up being a component of a larger system or strategy) without going to a heap of trouble. So of course Vertica has:

      • A JDBC driver
      • An ODBC driver
      • An interactive SQL client
      • A growing list of tested integrations with other software

      Note: I work for Vertica