{"id":2220,"date":"2009-09-16T13:03:58","date_gmt":"2009-09-16T18:03:58","guid":{"rendered":"http:\/\/www.daniel-lemire.com\/blog\/?p=2220"},"modified":"2015-11-24T17:32:14","modified_gmt":"2015-11-24T17:32:14","slug":"relational-databases-are-they-obselete","status":"publish","type":"post","link":"https:\/\/lemire.me\/blog\/2009\/09\/16\/relational-databases-are-they-obselete\/","title":{"rendered":"Relational databases: are they obsolete?"},"content":{"rendered":"<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/Michael_Stonebraker\">Michael Stonebraker<\/a> is <a href=\"http:\/\/storagemojo.com\/2009\/09\/14\/rdbms-going-like-mainframes\/\">predicting<\/a> that the dominance of the generic relational database is coming to an end. Having recently founded several database companies,\u00a0he has a vested interested in this prediction .<\/p>\n<p>Here is Stonebraker logic: we can outperform relational databases with specialized solutions. Therefore, users will migrate to specialized engines.\u00a0In effect, specialized players such as <a href=\"http:\/\/www.vertica.com\/\">Vertica<\/a> will grab market shares from Oracle Database and Microsoft SQL Server.<\/p>\n<p>Unfortunately, Stonebraker&#8217;s arguments are misleading.\u00a0As far as performance is concerned, Stonebraker is obviously right: we are undergoing major changes. As\u00a0<a href=\"http:\/\/thenoisychannel.com\/2009\/08\/29\/free-as-in-freebase\">pointed out by Daniel Tunkelang<\/a>, you can store a lot of data in 32GB of RAM.\u00a0<a href=\"http:\/\/lemire.me\/blog\/2008\/02\/02\/random-write-performance-in-solid-state-drives\/\">Solid-state drives<\/a> can be used to wipe out some IO bottlenecks.\u00a0Yet, these technological changes will not change the game for two reasons:<\/p>\n<ul>\n<li><strong>We have always been able to outperform generic relational databases<\/strong>: (1)\u00a0column stores have been around since the seventies when they were called transposed files (2)\u00a0search engines have always used their own indexes (3)\u00a0lightweight key-value engines like\u00a0<a href=\"http:\/\/1978th.net\/tokyocabinet\/\">Tokyo Cabinet<\/a> have always been around. Generic relational databases did not achieve dominance due to their superior performance.<\/li>\n<li><strong>Generic relational databases are frequently catching up to specialized engines.<\/strong> In particular, they are not limited to row stores.\u00a0<a href=\"http:\/\/www.dbms2.com\/2009\/09\/03\/oracle-11g-exadata-hybrid-columnar-compression\/\">Curt Monash&#8217;s blog post<\/a> on Oracle&#8217;s hybrid columnar approach makes this obvious. Nicolas Bruno, in\u00a0<a href=\"http:\/\/research.microsoft.com\/apps\/pubs\/default.aspx?id=74156\">Teaching an Old Elephant New Tricks<\/a>, predicted that the lessons learned by start-ups such as Vertica will be integrated into traditional relational engines.<\/li>\n<\/ul>\n<p><strong>Further reading<\/strong>: I was motivated by the latest <a href=\"http:\/\/storagemojo.com\/2009\/09\/14\/rdbms-going-like-mainframes\/\">StorageMojo blog post<\/a>. See also my blog posts <a href=\"http:\/\/lemire.me\/blog\/2009\/08\/28\/trading-compression-for-speed-with-vectorization\/\">Trading compression for speed with vectorization<\/a>, <a href=\"http:\/\/lemire.me\/blog\/2009\/09\/04\/changing-your-perspective-horizontal-vertical-and-hybrid-data-models\/\">Changing your perspective: horizontal, vertical and hybrid data models<\/a>, <a href=\"http:\/\/lemire.me\/blog\/2009\/07\/03\/column-stores-and-row-stores-should-you-care\/\">Column stores and row stores: should you care?<\/a> and <a href=\"http:\/\/lemire.me\/blog\/2008\/12\/04\/native-xml-databases-have-they-taken-the-world-over-yet\/\">Native XML databases: have they taken the world over yet?<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Michael Stonebraker is predicting that the dominance of the generic relational database is coming to an end. Having recently founded several database companies,\u00a0he has a vested interested in this prediction . Here is Stonebraker logic: we can outperform relational databases with specialized solutions. Therefore, users will migrate to specialized engines.\u00a0In effect, specialized players such as &hellip; <a href=\"https:\/\/lemire.me\/blog\/2009\/09\/16\/relational-databases-are-they-obselete\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Relational databases: are they obsolete?<\/span><\/a><\/p>\n","protected":false},"author":56,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[84],"tags":[],"class_list":["post-2220","post","type-post","status-publish","format-standard","hentry","category-84"],"_links":{"self":[{"href":"https:\/\/lemire.me\/blog\/wp-json\/wp\/v2\/posts\/2220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lemire.me\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lemire.me\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lemire.me\/blog\/wp-json\/wp\/v2\/users\/56"}],"replies":[{"embeddable":true,"href":"https:\/\/lemire.me\/blog\/wp-json\/wp\/v2\/comments?post=2220"}],"version-history":[{"count":5,"href":"https:\/\/lemire.me\/blog\/wp-json\/wp\/v2\/posts\/2220\/revisions"}],"predecessor-version":[{"id":10017,"href":"https:\/\/lemire.me\/blog\/wp-json\/wp\/v2\/posts\/2220\/revisions\/10017"}],"wp:attachment":[{"href":"https:\/\/lemire.me\/blog\/wp-json\/wp\/v2\/media?parent=2220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lemire.me\/blog\/wp-json\/wp\/v2\/categories?post=2220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lemire.me\/blog\/wp-json\/wp\/v2\/tags?post=2220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}