{"id":4254,"date":"2013-10-31T07:00:44","date_gmt":"2013-10-31T15:00:44","guid":{"rendered":"http:\/\/formtek.com\/blog\/?p=4254"},"modified":"2013-11-12T02:22:49","modified_gmt":"2013-11-12T10:22:49","slug":"next-generation-databases-real-time-scale-out-relational-processing","status":"publish","type":"post","link":"https:\/\/formtek.com\/blog\/next-generation-databases-real-time-scale-out-relational-processing\/","title":{"rendered":"Next Generation Databases: Real-Time Scale-Out Relational Processing"},"content":{"rendered":"<p>As databases grow, the most common way to stay pace with more data, more transactions, and more load is to scale-up the database hardware.  Scaling up involves adding more CPU power, more memory and more and faster disks.  But as data sizes continue to grow beyond what even single node servers are able to handle, the need then increases for scaling out hardware to run on multiple clustered nodes.  And when the need further expands to be able to process large amounts of data in real time, even newer techniques have to be employed.<\/p>\n<p>Relational databases have broken down when trying to process very large volumes of real-time data.  Instead, real-time data processing has been an area where NoSQL solutions are increasingly being applied.  But No-SQL databases haven&#8217;t yet been able to match the complexity and richness of the types of data queries that are possible with traditional relational databases, and because of that, some companies are working on developing creative ways to accelerate standard relational database processing.<\/p>\n<p><a title=\"Clustrix home page\" href=\"http:\/\/www.clustrix.com\/default.aspx\" target=\"_blank\">Clustrix<\/a>, for example, has pioneered techniques that goes beyond clustering.  Their patented technique partitions data among server nodes in a cluster and then collects and aggregates the results.  The concept of their approach is similar to how the MapReduce algorithm breaks down a problem into smaller data sets, calculates the result sets in parallel, and then aggregates and sorts the results.  Compared to standard database clustering, calculations can be performed significantly faster.<\/p>\n<p><a title=\"Robin Purohit bio\" href=\"http:\/\/www.linkedin.com\/pub\/robin-purohit\/0\/35b\/645\" target=\"_blank\">Robin Purohit<\/a>, CEO of Clustrix, said that the techniques that &#8220;we\u2019re using are similar to many analytic solutions.  But what\u2019s different about our solution is that we\u2019re doing it completely in a relational database.  The patent that we got granted basically describes the data distribution, and a method for slicing and reslicing of data, but you always maintain the ACID and relational properties of the database.  That\u2019s what differentiates us from the majority of the NoSQL and data analytics tools today that have given up on that in order to get scale.&#8221;<\/p>\n<p><a title=\"George Gilbert bio\" href=\"www.linkedin.com\/pub\/george-gilbert\/2\/550\/466\" target=\"_blank\">George Gilbert<\/a>, GigaOM Pro analyst, said that \u201cTransactions must be able to drive decisions in real time.  In-memory databases typically have the fastest performance but often trade off capacity of a large data set and analytic sophistication. DBMS that aren\u2019t constrained just to memory can achieve the analytic sophistication and performance that still support transaction processing, although less than a data warehouse.&#8221;<\/p>\n<p>Clustrix features include:<\/p>\n<ul>\n<li>Multi-version concurrency control (MVCC) to ensure that reads and writes don&#8217;t interfere with each other<\/li>\n<li>Aggregation is distributed and partially computed at nodes, making analytics scale better<\/li>\n<li>SQL query fan-out that allows multiple nodes and multiple cores per node to be added to the calculation<\/li>\n<li>Use of FLASH-based in-memory analytics<\/li>\n<\/ul>\n<p><a title=\"Robin Purohit bio\" href=\"http:\/\/www.linkedin.com\/pub\/robin-purohit\/0\/35b\/645\" target=\"_blank\">Purohit<\/a> said that &#8220;people use our product for very high-volume transactions that are business critical and have a lot of peak demands.  That\u2019s pretty typical of e-commerce companies like Rakuten, and we have about nine customers in the e-commerce segment today using Clustrix in production as their primary database.  We\u2019ve also been seeing in the last year that once people scale out  that they want to use their data and combine it in a real-time fashion, so they start running very complex queries on that on-line data, for example, seven-way joins or sixteen-way joins, on very large table sets.  That is  where we really improved the product over the last year and one half, to make sure that you can do complex analytics that you would typically do on a data warehouse, but using live operational data, so that you can get the response to questions in seconds. &#8221;<\/p>\n<p>How does Clustrix compare to a more traditional relational product like Oracle RAC solutions?  Purohit said that &#8220;the difference with Oracle RAC is their use of shared-disk architecture.  What that means is that it has very poor performance as you add more nodes.  RAC primarily uses high availability and small cluster configurations, and generally with scale-out servers that are banded together, there is a lot of locking contention when you use shared disk.  Our architecture is a completely distributed no-single-master solution, and the associated storage is all distributed in the server, so it is a true cloud architecture.  To be able to do scale-up relational on that architecture with minimal locking contention is really the big differentiator.  And we do all that at less than one-tenth the cost of Oracle standard database, and if you add in all the Oracle enterprise and RAC licenses, it may even be more like one-thirtieth of the cost.&#8221;<\/p>\n<div class=\"lightsocial_container\"><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/digg.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/digg.png\" alt=\"Digg This\" title=\"Digg This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/reddit.png\" alt=\"Reddit This\" title=\"Reddit This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.stumbleupon.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/stumbleupon.png\" alt=\"Stumble Now!\" title=\"Stumble Now!\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/buzz.yahoo.com\/buzz?targetUrl=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F&amp;headline=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/yahoo_buzz.png\" alt=\"Buzz This\" title=\"Buzz This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dzone.com\/links\/add.html?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dzone.png\" alt=\"Vote on DZone\" title=\"Vote on DZone\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.facebook.com\/sharer.php?t=&amp;u=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/facebook.png\" alt=\"Share on Facebook\" title=\"Share on Facebook\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/delicious.com\/save?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/delicious.png\" alt=\"Bookmark this on Delicious\" title=\"Bookmark this on Delicious\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dotnetkicks.com\/kick\/?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetkicks.png\" alt=\"Kick It on DotNetKicks.com\" title=\"Kick It on DotNetKicks.com\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/dotnetshoutout.com\/Submit?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetshoutout.png\" alt=\"Shout it\" title=\"Shout it\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F&amp;title=&amp;summary=&amp;source=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/linkedin.png\" alt=\"Share on LinkedIn\" title=\"Share on LinkedIn\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.technorati.com\/faves?add=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/technorati.png\" alt=\"Bookmark this on Technorati\" title=\"Bookmark this on Technorati\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/twitter.com\/home?status=Reading+https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/twitter.png\" alt=\"Post on Twitter\" title=\"Post on Twitter\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.google.com\/buzz\/post?url=https%3A%2F%2Fformtek.com%2Fblog%2Fnext-generation-databases-real-time-scale-out-relational-processing%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/google_buzz.png\" alt=\"Google Buzz (aka. Google Reader)\" title=\"Google Buzz (aka. Google Reader)\" \/><\/a><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>As databases grow, the most common way to stay pace with more data, more transactions, and more load is to scale-up the database hardware. Scaling up involves adding more CPU power, more memory and more and faster disks. But as<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/formtek.com\/blog\/next-generation-databases-real-time-scale-out-relational-processing\/\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,15],"tags":[],"class_list":["post-4254","post","type-post","status-publish","format-standard","hentry","category-cloud-computing","category-enterprise-software"],"_links":{"self":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/4254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/comments?post=4254"}],"version-history":[{"count":0,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/4254\/revisions"}],"wp:attachment":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/media?parent=4254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/categories?post=4254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/tags?post=4254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}