tag:blogger.com,1999:blog-8899645800948009496.post6068952524060677104..comments2024-03-27T21:57:04.787-07:00Comments on DBMS Musings: A tour through hybrid column/row-oriented DBMS schemesDaniel Abadihttp://www.blogger.com/profile/16753133043157018521noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-8899645800948009496.post-43636816221267037412012-04-10T14:47:40.592-07:002012-04-10T14:47:40.592-07:00Very interesting post,
If we take into accout your...Very interesting post,<br />If we take into accout your interesting PhD thesis about the three approaches of building a column store, it seems to me that these three hybrid categories mentioned here considre the second approach (changing only the storage layer without changing the execution engine) in building their column store, since I cannot find (in these articles) any special implementaions/modifications for the execution engine.<br />what do you think about that?<br />Thanks againBaraahttps://www.blogger.com/profile/05180171456437123833noreply@blogger.comtag:blogger.com,1999:blog-8899645800948009496.post-38120762310714467102011-02-15T03:01:21.583-08:002011-02-15T03:01:21.583-08:00Great Post !Great Post !Akankshahttps://www.blogger.com/profile/14742558074074793020noreply@blogger.comtag:blogger.com,1999:blog-8899645800948009496.post-29997616431521303242010-11-25T04:13:33.033-08:002010-11-25T04:13:33.033-08:00impressive and great posts
Thanksimpressive and great posts<br /><br />ThanksAmirhttps://www.blogger.com/profile/18061136991416368147noreply@blogger.comtag:blogger.com,1999:blog-8899645800948009496.post-12924323081059795762009-09-04T09:17:27.679-07:002009-09-04T09:17:27.679-07:00Oops --- I should have mentioned: the Stavros I re...Oops --- I should have mentioned: the Stavros I referred to above is Stavros Harizopoulos of HP Labs. The slides from our VLDB tutorial on column-stores can be found at: http://cs-www.cs.yale.edu/homes/dna/talks/Column_Store_Tutorial_VLDB09.pdfDaniel Abadihttps://www.blogger.com/profile/16753133043157018521noreply@blogger.comtag:blogger.com,1999:blog-8899645800948009496.post-73839028478411261002009-09-04T09:09:13.154-07:002009-09-04T09:09:13.154-07:00Hi Walter,
I'm OK with people calling HBase/B...Hi Walter,<br /><br />I'm OK with people calling HBase/BigTable a row/column hybrid. If you were to do so, I would put them in category 3 (fine-grained hybrids) since different columns in the same table can be stored as rows or columns. Personally I do not consider their use of locality groups to be enough grounds to call them column-stores (since column-stores are more than just how data is laid out in storage --- it's also about making changes to the execution engine), but that's just because I'm a little snooty in what I'm willing to call a "true" column-store :)Daniel Abadihttps://www.blogger.com/profile/16753133043157018521noreply@blogger.comtag:blogger.com,1999:blog-8899645800948009496.post-49145183691748291422009-09-04T09:00:45.910-07:002009-09-04T09:00:45.910-07:00Hi Marcin,
Totally agreed. I actually spent a whi...Hi Marcin,<br /><br />Totally agreed. I actually spent a while on the point that column-stores are more than just a storage layer innovation in the tutorial I did with your PhD adviser and Stavros at VLDB in France last week. Stavros also covered your DAMON08 paper very nicely. I chose not to list your paper in the hybrid schemes above since it's not really a hybrid scheme in the traditional sense and it might be confusing for people.<br /><br />Before I get similar comments from other people:<br />allow me to list two other papers that I almost wrote about and decided that one has to warp the mind a little too much to see why they're a hybrid scheme:<br /><br />"Clotho: Decoupling Memory Page Layout from Storage Organization." Shao, Schindler, Schlosser, Ailamaki, and Ganger. VLDB 2004.<br /><br />"A Multi-Resolution Block Storage Model for Database Design." Jingren Zhou, Kenneth A. Ross. IDEAS 2003.<br /><br />PS: I deleted the SPAM comment as you suggested<br />PPS: Good luck on your PhD defense next week!Daniel Abadihttps://www.blogger.com/profile/16753133043157018521noreply@blogger.comtag:blogger.com,1999:blog-8899645800948009496.post-10068921602869738502009-09-04T06:14:52.367-07:002009-09-04T06:14:52.367-07:00Daniel,
Excellent post. One more question, and pos...Daniel,<br />Excellent post. One more question, and possible follow on post for you, but would you consider a HBase or BigTable a row/column hybrid?<br />Thanks<br />WBWalter Von Bruegmonhttps://www.blogger.com/profile/09776526397435495542noreply@blogger.comtag:blogger.com,1999:blog-8899645800948009496.post-90697805451819977622009-09-04T05:20:44.607-07:002009-09-04T05:20:44.607-07:00Hi Daniel,
Good write up. One thing to note is tha...Hi Daniel,<br />Good write up. One thing to note is that the row/column choice is not only for storage, but also for processing. In particular, as the referenced "Data Morphing" paper (VLDB03) discusses, row/column hybrids are useful not only on disk, but also for in-memory processing. This idea has been taken even further in our <a href="http://www.cwi.nl/htbin/ins1/publications?request=intabstract&key=ZuNeBo:DAMON:08" rel="nofollow">DAMON'08</a> paper, where we discuss how the data model can be dynamically changed _during_ the query execution to exploit various performance characteristics of DSM and NSM.<br /><br />P.S. Delete that post above if you can :)Marcinhttps://www.blogger.com/profile/14718662695714901635noreply@blogger.comtag:blogger.com,1999:blog-8899645800948009496.post-84139333823438494252009-09-03T18:04:22.584-07:002009-09-03T18:04:22.584-07:00Oh yes, I definitely agree with Curt. He's had...Oh yes, I definitely agree with Curt. He's had at least three good posts on hybrid row/column-store systems.<br /><br />I agree with your first remark (bit-map indexes are a sort of lightweight hybrid). I don't really agree with the second one since column-stores do not store values from the different columns in the same page (even if you horizontally partition them), while PAX does. But I understand what you are saying --- and from 10000 feet, PAX sort of looks like a horizontally partitioned column-store.Daniel Abadihttps://www.blogger.com/profile/16753133043157018521noreply@blogger.comtag:blogger.com,1999:blog-8899645800948009496.post-26264848703701085602009-09-03T17:58:21.588-07:002009-09-03T17:58:21.588-07:00A few more remarks:
1) Adding a column-oriented i...A few more remarks:<br /><br />1) Adding a column-oriented index to an existing row store creates an hybrid of sort. Think about indexing a few columns out of a row store with a bitmap or project index.<br /><br />2) PAX can be viewed as a row/column hybrid, but it can also be *implemented* as something close to a column store with horizontal partitioning.Daniel Lemirehttps://www.blogger.com/profile/01566622051558391310noreply@blogger.comtag:blogger.com,1999:blog-8899645800948009496.post-437851677531027102009-09-03T17:47:14.641-07:002009-09-03T17:47:14.641-07:00Interesting taxonomy! Good work. Thanks for sharin...Interesting taxonomy! Good work. Thanks for sharing.<br /><br />My gut feeling is that Curt Monash is probably right to think that Oracle went with something like PAX. It is a fairly natural evolution for people dealing with row stores. (Reference: http://www.dbms2.com/2009/09/03/oracle-11g-exadata-hybrid-columnar-compression/)Daniel Lemirehttps://www.blogger.com/profile/01566622051558391310noreply@blogger.com