{"id":49,"date":"2009-01-13T19:07:00","date_gmt":"2009-01-13T19:07:00","guid":{"rendered":"https:\/\/karwin.com\/blog\/index.php\/2009\/01\/13\/the-next-gen-databases\/"},"modified":"2009-01-13T19:07:00","modified_gmt":"2009-01-13T19:07:00","slug":"the-next-gen-databases","status":"publish","type":"post","link":"https:\/\/karwin.com\/blog\/index.php\/2009\/01\/13\/the-next-gen-databases\/","title":{"rendered":"The Next-Gen Databases"},"content":{"rendered":"<p>A user recently asked:<\/p>\n<blockquote><p>I&#8217;m learning traditional Relational Databases (with PostgreSQL) and doing some research I&#8217;ve come across some new types of databases. CouchDB, Drizzle, and Scalaris to name a few, what is going to be the next database technologies to deal with?<\/p><\/blockquote>\n<p>SQL is a language for querying and manipulating relational databases. SQL is dictated by an international standard. While the standard is revised, it seems to always work within the relational database paradigm.  <\/p>\n<p>Here are a few new data storage technologies that are getting attention currently:<\/p>\n<ul>\n<li><a href=\"http:\/\/couchdb.apache.org\/\"><strong>CouchDB<\/strong><\/a> is a non-relational database.  They call it a document-oriented database.<\/li>\n<li><a href=\"http:\/\/aws.amazon.com\/simpledb\/\"><strong>Amazon SimpleDB<\/strong><\/a> is also a non-relational database accessed in a distributed manner through a web service. Amazon also has a distributed key-value store called <span style=\"font-weight: bold;\">Dynamo<\/span>, which powers some of its S3 services.<\/li>\n<li><a href=\"http:\/\/github.com\/cliffmoon\/dynomite\/tree\/master\"><span style=\"font-weight: bold;\">Dynomite<\/span><\/a> and <a href=\"http:\/\/kai.wiki.sourceforge.net\/\"><span style=\"font-weight: bold;\">Kai<\/span><\/a> are open source solutions inspired by Amazon Dynamo.<\/li>\n<li><a href=\"http:\/\/labs.google.com\/papers\/bigtable.html\"><strong>BigTable<\/strong><\/a> is a proprietary data storage solution used by Google, and implemented using their Google File System technology. Google&#8217;s MapReduce framework uses BigTable.<\/li>\n<li><a href=\"http:\/\/hadoop.apache.org\/core\/\"><strong>Hadoop<\/strong><\/a> is an open-source technology inspired by Google&#8217;s MapReduce, and serving a similar need, to distribute the work of very large scale data stores.<\/li>\n<li><a href=\"http:\/\/www.zib.de\/CSR\/Projects\/scalaris\/\"><strong>Scalaris<\/strong><\/a> is a distributed transactional key\/value store.  Also not relational, and does not use SQL.  It&#8217;s a research project from the Zuse Institute in Berlin, Germany.<\/li>\n<li><a href=\"http:\/\/www.w3.org\/RDF\/\"><strong>RDF<\/strong><\/a> is a standard for storing semantic data, in which data and metadata are interchangeable. It has its own query language SPARQL, which resembles SQL superficially, but is actually totally different.<\/li>\n<li><a href=\"http:\/\/www.vertica.com\/\"><strong>Vertica<\/strong><\/a> is a highly scalable column-oriented analytic database designed for distributed (grid) architecture. It does claim to be relational and SQL-compliant. It can be used through Amazon&#8217;s Elastic Compute Cloud.<\/li>\n<li><a href=\"http:\/\/www.greenplum.com\/\"><strong>Greenplum<\/strong><\/a> is a high-scale data warehousing DBMS, which implements both MapReduce and SQL.<\/li>\n<li><a href=\"http:\/\/www.w3.org\/XML\/\"><strong>XML<\/strong><\/a> isn&#8217;t a DBMS at all, it&#8217;s an interchange format.  But some DBMS products work with data in XML format.<\/li>\n<li><a href=\"http:\/\/www.odbms.org\/\"><strong>ODBMS<\/strong><\/a>, or Object Databases, are for managing complex data. There don&#8217;t seem to be any dominant ODBMS products in the mainstream, perhaps because of lack of standardization. Standard SQL is gradually gaining some OO features (e.g. extensible data types and tables).<\/li>\n<li><a href=\"https:\/\/launchpad.net\/drizzle\"><strong>Drizzle<\/strong><\/a> is a relational database, drawing a lot of its code from MySQL. It includes various architectural changes designed to manage data in a scalable &#8220;cloud computing&#8221; system architecture. Presumably it will continue to use standard SQL with some MySQL enhancements.<\/li>\n<\/ul>\n<p>Relational databases have weaknesses, to be sure. People have been arguing that they don&#8217;t handle all data modeling requirements since the day it was <a href=\"http:\/\/portal.acm.org\/citation.cfm?id=362685\">first introduced<\/a>. <\/p>\n<p>Year after year, researchers come up with new ways of managing data to satisfy special requirements: either requirements to handle data relationships that don&#8217;t fit into the relational model, or else requirements of high-scale volume or speed that demand data processing be done on distributed collections of servers, instead of central database servers.<\/p>\n<p>Even though these advanced technologies do great things to solve the specialized problem they were designed for, relational databases are still a good general-purpose solution for most business needs. SQL isn&#8217;t going away.<\/p>\n<p>I&#8217;m posting to my blog the questions I&#8217;ve answered on StackOverflow, which earned the &#8220;Good Answer&#8221; badge. This was my answer to &#8220;<a href=\"http:\/\/stackoverflow.com\/questions\/282783\/the-next-gen-databases#282813\">The Next-Gen Databases<\/a>.&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A user recently asked: I&#8217;m learning traditional Relational Databases (with PostgreSQL) and doing some research I&#8217;ve come across some new types of databases. CouchDB, Drizzle, and Scalaris to name a few, what is going to be the next database technologies to deal with? SQL is a language for querying and manipulating relational databases. SQL is [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[30,2],"tags":[],"class_list":["post-49","post","type-post","status-publish","format-standard","hentry","category-database","category-mysql"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pawgV7-N","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/karwin.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/49","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/karwin.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/karwin.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/karwin.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/karwin.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=49"}],"version-history":[{"count":0,"href":"https:\/\/karwin.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/49\/revisions"}],"wp:attachment":[{"href":"https:\/\/karwin.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=49"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/karwin.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=49"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/karwin.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=49"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}