<!DOCTYPE html>
<html lang="en">
  <head>	
    <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Apache Druid">
<meta name="keywords" content="druid,kafka,database,analytics,streaming,real-time,real time,apache,open source">
<meta name="author" content="Apache Software Foundation">

<title>Druid | Druid Blog</title>

<link rel="alternate" type="application/atom+xml" href="/feed">
<link rel="shortcut icon" href="/img/favicon.png">

<link rel="stylesheet" href="/assets/css/font-awesome-5.css">

<link href='//fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700,300italic|Open+Sans:300italic,400italic,600italic,400,300,600,700' rel='stylesheet' type='text/css'>

<link rel="stylesheet" href="/css/bootstrap-pure.css?v=1.1">
<link rel="stylesheet" href="/css/base.css?v=1.1">
<link rel="stylesheet" href="/css/header.css?v=1.1">
<link rel="stylesheet" href="/css/footer.css?v=1.1">
<link rel="stylesheet" href="/css/syntax.css?v=1.1">
<link rel="stylesheet" href="/css/docs.css?v=1.1">

<script>
  (function() {
    var cx = '000162378814775985090:molvbm0vggm';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  })();
</script>


  </head>
  <body>	
    <!-- Start page_header include -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>

<div class="top-navigator">
  <div class="container">
    <div class="left-cont">
      <a class="logo" href="/"><span class="druid-logo"></span></a>
    </div>
    <div class="right-cont">
      <ul class="links">
        <li class=""><a href="/technology">Technology</a></li>
        <li class=""><a href="/use-cases">Use Cases</a></li>
        <li class=""><a href="/druid-powered">Powered By</a></li>
        <li class=""><a href="/docs/latest/design/">Docs</a></li>
        <li class=""><a href="/community/">Community</a></li>
        <li class="header-dropdown">
          <a>Apache</a>
          <div class="header-dropdown-menu">
            <a href="https://www.apache.org/" target="_blank">Foundation</a>
            <a href="https://www.apache.org/events/current-event" target="_blank">Events</a>
            <a href="https://www.apache.org/licenses/" target="_blank">License</a>
            <a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a>
            <a href="https://www.apache.org/security/" target="_blank">Security</a>
            <a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a>
          </div>
        </li>
        <li class=" button-link"><a href="/downloads.html">Download</a></li>
      </ul>
    </div>
  </div>
  <div class="action-button menu-icon">
    <span class="fa fa-bars"></span> MENU
  </div>
  <div class="action-button menu-icon-close">
    <span class="fa fa-times"></span> MENU
  </div>
</div>

<script type="text/javascript">
  var $menu = $('.right-cont');
  var $menuIcon = $('.menu-icon');
  var $menuIconClose = $('.menu-icon-close');

  function showMenu() {
    $menu.fadeIn(100);
    $menuIcon.fadeOut(100);
    $menuIconClose.fadeIn(100);
  }

  $menuIcon.click(showMenu);

  function hideMenu() {
    $menu.fadeOut(100);
    $menuIconClose.fadeOut(100);
    $menuIcon.fadeIn(100);
  }

  $menuIconClose.click(hideMenu);

  $(window).resize(function() {
    if ($(window).width() >= 840) {
      $menu.fadeIn(100);
      $menuIcon.fadeOut(100);
      $menuIconClose.fadeOut(100);
    }
    else {
      $menu.fadeOut(100);
      $menuIcon.fadeIn(100);
      $menuIconClose.fadeOut(100);
    }
  });
</script>

<!-- Stop page_header include -->


    <link rel="stylesheet" href="/css/blogs.css">

<div class="druid-header">
  <div class="container">
    <h1>Druid Blog</h1>
    <h4></h4>
  </div>
</div>
  
<div class="container blog">
  <div class="row">
    <div class="col-md-8 col-md-offset-2">
      
      <div class="blog-listing">
        <h2><a href="/blog/2018/06/08/druid-0-12-1.html">Druid 0.12.1 release</a></h2>
        <p class="author text-uppercase text-muted">Druid PMC · June  8, 2018</p>
        <p><p>We&#39;re excited to announce the general availability of our latest release, <a href="/downloads.html">Druid 0.12.1</a>!</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2018/06/08/druid-0-12-1.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2018/03/08/druid-0-12-0.html">Druid 0.12.0 release</a></h2>
        <p class="author text-uppercase text-muted">Druid PMC · March  8, 2018</p>
        <p><p>We&#39;re excited to announce the general availability of our latest release, <a href="/downloads.html">Druid 0.12.0</a>!</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2018/03/08/druid-0-12-0.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2017/12/04/druid-0-11-0.html">Druid 0.11.0 release</a></h2>
        <p class="author text-uppercase text-muted">Druid PMC · December  4, 2017</p>
        <p><p>We&#39;re excited to announce the general availability of our latest release, <a href="/downloads.html">Druid 0.11.0</a>!</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2017/12/04/druid-0-11-0.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2017/08/22/druid-0-10-1.html">Druid 0.10.1 release</a></h2>
        <p class="author text-uppercase text-muted">Druid PMC · August 22, 2017</p>
        <p><p>We&#39;re excited to announce the general availability of our latest release, <a href="/downloads.html">Druid 0.10.1</a>!</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2017/08/22/druid-0-10-1.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2017/04/18/druid-0-10-0.html">Druid 0.10.0 release</a></h2>
        <p class="author text-uppercase text-muted">Druid PMC · April 18, 2017</p>
        <p><p>We&#39;re excited to announce the general availability of our latest release, <a href="/downloads.html">Druid 0.10.0</a>!</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2017/04/18/druid-0-10-0.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2016/12/01/druid-0-9-2.html">Druid 0.9.2 release</a></h2>
        <p class="author text-uppercase text-muted">Druid PMC · December  1, 2016</p>
        <p><p>We&#39;re excited to announce the general availability of our latest release, <a href="/downloads.html">Druid 0.9.2</a>!</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2016/12/01/druid-0-9-2.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2016/06/28/druid-0-9-1.html">Druid 0.9.1.1 release</a></h2>
        <p class="author text-uppercase text-muted">Druid PMC · June 28, 2016</p>
        <p><p>We&#39;re excited to announce the general availability of our latest release, <a href="/downloads.html">Druid 0.9.1.1</a>!</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2016/06/28/druid-0-9-1.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2016/01/06/announcing-new-committers.html">Announcing New Committers</a></h2>
        <p class="author text-uppercase text-muted">Druid PMC · January  6, 2016</p>
        <p><p>Happy New Year everyone! We’re excited to announce that we’ve added 8 new
committers to Druid. These committers have been making sustained contributions
to the project, and we look forward to working with them to continue to develop
the project in 2016.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2016/01/06/announcing-new-committers.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2015/11/03/seeking-new-committers.html">Seeking New Committers</a></h2>
        <p class="author text-uppercase text-muted">Druid PMC · November  3, 2015</p>
        <p><p>We are excited to announce that we have formalized the governance of Druid to
be a community led project! Druid has been informally community led for some
time, with committers from various organizations regularly adding new features,
improving performance, and making things easier to use. Project committers vote
on proposals, review/write pull requests, provide community support, and help
guide the technical direction of the project. You can find more information on
the project’s goals and governance on our recently updated <a href="http://druid.io/community/">Druid webpage</a>. Druid depends upon its vibrant community of users
for their feedback with respect to features, documentation and very helpful bug
reports.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2015/11/03/seeking-new-committers.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2015/02/20/towards-a-community-led-druid.html">Towards a Community Led Druid</a></h2>
        <p class="author text-uppercase text-muted">Fangjin Yang, Xavier Léauté, and Eric Tschetter · February 20, 2015</p>
        <p><p>We are very happy to announce that Druid has changed its license to Apache 2.0.
We believe this is a change the community will welcome. As engineers, we love
to see the things we make get used and attempt to provide value to the broader
open source world that we have benefitted from for so long. By switching to the
Apache license, we believe this change will better promote the growth of the Druid
community.  We hope to send a clear message that we
are all equal participants in the Druid community, a sentiment that is very
important to us.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2015/02/20/towards-a-community-led-druid.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2014/07/23/five-tips-for-a-f-ing-great-logo.html">Five Tips for a F’ing Great Logo</a></h2>
        <p class="author text-uppercase text-muted">David Hertog &amp; Fangjin Yang · July 23, 2014</p>
        <p><p>Everyone wants a great logo, but it’s notoriously difficult work—prone to
miscommunications, heated debates and countless revisions. Still, after three
years we couldn’t put it off any longer. Druid needed a visual identity, so we
partnered with the talented folks at <a href="http://focuslabllc.com/">Focus Lab</a> for
help.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2014/07/23/five-tips-for-a-f-ing-great-logo.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2014/05/07/open-source-leaders-sound-off-on-the-rise-of-the-real-time-data-stack.html">Open Source Leaders Sound Off on the Rise of the Real-Time Data Stack</a></h2>
        <p class="author text-uppercase text-muted">Fangjin Yang &amp; Gian Merlino · May  7, 2014</p>
        <p><p>In February we were honored to speak at the O’Reilly Strata conference about
building a robust, flexible, and completely open source data analytics stack.
If you couldn’t make it, you can watch the <a href="https://www.youtube.com/watch?v=kJMYVpnW_AQ">video
here</a>. Preparing for our talk got
us thinking about all the brilliant folks working on similar problems, so we
organized a panel that same night to continue the conversation.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2014/05/07/open-source-leaders-sound-off-on-the-rise-of-the-real-time-data-stack.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2014/04/15/intro-to-pydruid.html">Introduction to pydruid</a></h2>
        <p class="author text-uppercase text-muted">Igal Levy · April 15, 2014</p>
        <p><p>We&#39;ve already written about pairing <a href="/blog/2014/02/03/rdruid-and-twitterstream.html">R with RDruid</a>, but Python has powerful and free open-source analysis tools too. Collectively, these are often referred to as the <a href="http://www.scipy.org/stackspec.html">SciPy Stack</a>. To pair SciPy&#39;s analytic power with the advantages of querying time-series data in Druid, we created the pydruid connector. This allows Python users to query Druid&mdash;and export the results to useful formats&mdash;in a way that makes sense to them.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2014/04/15/intro-to-pydruid.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2014/03/17/benchmarking-druid.html">Benchmarking Druid</a></h2>
        <p class="author text-uppercase text-muted">Xavier Léauté · March 17, 2014</p>
        <p><p>We often get asked how fast Druid is. Despite having published some benchmark
numbers in <a href="/blog/2012/01/19/scaling-the-druid-data-store.html">previous blog posts</a>, as well as in our <a href="https://speakerdeck.com/druidio/">talks</a>,
until now, we have not actually published any data to back those claims up in in a
reproducible way. This post intends to address this and make it easier for
anyone to evaluate Druid and compare it to other systems out there.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2014/03/17/benchmarking-druid.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2014/03/12/batch-ingestion.html">Batch-Loading Sensor Data into Druid</a></h2>
        <p class="author text-uppercase text-muted">Igal Levy · March 12, 2014</p>
        <p><p>Sensors are everywhere these days, and that means sensor data is big data. Ingesting and analyzing sensor data at speed is an interesting problem, especially when scale is desired. In this post, we&#39;ll access some real-world sensor data, and show how Druid can be used to store that data and make it available for immediate querying.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2014/03/12/batch-ingestion.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2014/02/18/hyperloglog-optimizations-for-real-world-systems.html">How We Scaled HyperLogLog: Three Real-World Optimizations</a></h2>
        <p class="author text-uppercase text-muted">NELSON RAY AND FANGJIN YANG · February 18, 2014</p>
        <p><p>At Metamarkets, we specialize in converting mountains of programmatic ad data
into real-time, explorable views. Because these datasets are so large and
complex, we’re always looking for ways to maximize the speed and efficiency of
how we deliver them to our clients.  In this post, we’re going to continue our
discussion of some of the techniques we use to calculate critical metrics such
as unique users and device IDs with maximum performance and accuracy.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2014/02/18/hyperloglog-optimizations-for-real-world-systems.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2014/02/03/rdruid-and-twitterstream.html">RDruid and Twitterstream</a></h2>
        <p class="author text-uppercase text-muted">Igal Levy · February  3, 2014</p>
        <p><p>What if you could combine a statistical analysis language with the power of an analytics database for instant insights into realtime data? You&#39;d be able to draw conclusions from analyzing data streams at the speed of now. That&#39;s what combining the prowess of a <a href="">Druid database</a> with the power of <a href="http://www.r-project.org">R</a> can do.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2014/02/03/rdruid-and-twitterstream.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/11/04/querying-your-data.html">Querying Your Data</a></h2>
        <p class="author text-uppercase text-muted">Russell Jurney · November  4, 2013</p>
        <p><p>Before we start querying druid, we&#39;re going to finish setting up a complete cluster on localhost. In our previous posts, we setup a Realtime node. In this tutorial we will also setup the other Druid node types: Compute, Master and Broker.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/11/04/querying-your-data.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/09/20/druid-at-xldb.html">Druid at XLDB</a></h2>
        <p class="author text-uppercase text-muted">Russell Jurney · September 20, 2013</p>
        <p><p>We recently attended <a href="http://www.xldb.org/">Stanford XLDB</a> and the experience was a blast. Once a year, XLDB invites speakers from different organizations to discuss the challenges of and solutions to dealing with Xtreme (with an X!) data sets. This year, Jeff Dean dropped knowledge bombs about architecting scalable systems, Michael Stonebraker provided inspiring advice about growing open source projects, CERN explained how they found the Higgs Boson, and several organizations spoke about their technology. We definitely recommend checking out the <a href="https://conf-slac.stanford.edu/xldb-2013/conference-program">slides</a> from the conference.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/09/20/druid-at-xldb.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/09/19/launching-druid-with-apache-whirr.html">Launching Druid With Apache Whirr</a></h2>
        <p class="author text-uppercase text-muted">Russell Jurney · September 19, 2013</p>
        <p><p>Without Whirr, to launch a Druid cluster, you&#39;d have to provision machines yourself, and then install each node type manually. This process is outlined <a href="https://github.com/metamx/druid/wiki/Tutorial%3A-The-Druid-Cluster">here</a>. With Whirr, you can boot a druid cluster by editing a simple configuration file and then issuing a single command!</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/09/19/launching-druid-with-apache-whirr.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/09/16/upcoming-events.html">Upcoming Events</a></h2>
        <p class="author text-uppercase text-muted">September 16, 2013</p>
        <p><p>Druid hits the road this fall, with presentations in the Bay Area, North Carolina and New York!</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/09/16/upcoming-events.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/09/12/the-art-of-approximating-distributions.html">The Art of Approximating Distributions: Histograms and Quantiles at Scale</a></h2>
        <p class="author text-uppercase text-muted">Nelson Ray · September 12, 2013</p>
        <p><p><em>I’d like to acknowledge Xavier Léauté for his extensive contributions (in
particular, for suggesting several algorithmic improvements and work on
implementation), helpful comments, and fruitful discussions.  Featured image
courtesy of CERN.</em></p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/09/12/the-art-of-approximating-distributions.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/08/30/loading-data.html">Understanding Druid Real-time Ingestion</a></h2>
        <p class="author text-uppercase text-muted">Russell Jurney · August 30, 2013</p>
        <p><p>In our last post, we got a realtime node working with example Twitter data. Now it&#39;s time to load our own data to see how Druid performs. Druid can ingest data in three ways: via Kafka and a realtime node, via the indexing service, and via the Hadoop batch loader. Data is ingested in realtime using a <a href="https://github.com/metamx/druid/wiki/Firehose">Firehose</a>. In this post we&#39;ll outline how to ingest data from Kafka in realtime using the Kafka Firehose.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/08/30/loading-data.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/08/06/twitter-tutorial.html">Understanding Druid Via Twitter Data</a></h2>
        <p class="author text-uppercase text-muted">Russell Jurney · August  6, 2013</p>
        <p><p>Druid is a rockin&#39; exploratory analytical data store capable of offering interactive query of big data in realtime - as data is ingested. Druid drives 10&#39;s of billions of events per day for the <a href="http://www.metamarkets.com">Metamarkets</a> platform, and Metamarkets is committed to building Druid in open source.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/08/06/twitter-tutorial.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/05/10/real-time-for-real.html">Real Real-Time. For Realz.</a></h2>
        <p class="author text-uppercase text-muted">Eric Tschetter · May 10, 2013</p>
        <p><p><em>Danny Yuan, Cloud System Architect at Netflix, and I recently co-presented at
the Strata Conference in Santa Clara. <a href="http://www.youtube.com/watch?v=Dlqj34l2upk">The
presentation</a> discussed how Netflix
engineers leverage <a href="http://metamarkets.com/product/technology/">Druid</a>,
Metamarkets’ open-source, distributed, real-time, analytical data store, to
ingest 150,000 events per second (billions per day), equating to about 500MB/s
of data at peak (terabytes per hour) while still maintaining real-time,
exploratory querying capabilities. Before and after the presentation, we had
some interesting chats with conference attendees. One common theme from those
discussions was curiosity around the definition of “real-time” in the real
world and how Netflix could possibly achieve it at those volumes. This post is
a summary of the learnings from those conversations and a response to some of
those questions.</em></p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/05/10/real-time-for-real.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/04/26/meet-the-druid.html">Meet the Druid and Find Out Why We Set Him Free</a></h2>
        <p class="author text-uppercase text-muted">Steve Harris · April 26, 2013</p>
        <p><p>Before jumping straight into why <a href="http://metamarkets.com/">Metamarkets</a> open
sourced <a href="https://github.com/metamx/druid/wiki">Druid</a>, I thought I would give a
brief dive into what Druid is and how it came about. For more details, check
out the <a href="http://static.druid.io/docs/druid.pdf">Druid white paper</a>.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/04/26/meet-the-druid.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/04/03/druid-r-meetup.html">Druid, R, Pizza and massively large data sets (Video)</a></h2>
        <p class="author text-uppercase text-muted">Xavier Léauté · April  3, 2013</p>
        <p><p>On April 3rd 2013 we held our first Meetup hosted by Metamarkets. The description and video follows. </p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/04/03/druid-r-meetup.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/04/03/15-minutes-to-live-druid.html">15 Minutes to Live Druid</a></h2>
        <p class="author text-uppercase text-muted">Jaypal Sethi · April  3, 2013</p>
        <p><p>Big Data reflects today’s world where data generating events are measured in
the billions and business decisions based on insight derived from this data is
measured in seconds. There are few tools that provide deep insight into both
live and stationary data as business events are occurring; Druid was designed
specifically to serve this purpose.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/04/03/15-minutes-to-live-druid.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2013/02/28/interactive-queries-meet-real-time-data.html">Druid: Interactive Queries Meet Real-time Data (Video)</a></h2>
        <p class="author text-uppercase text-muted">Eric Tschetter · February 28, 2013</p>
        <p><p>Eric Tschetter (lead architect of Druid) and Danny Yuan (Netflix Platform Engineering Team) co-presented at the 2013 Strata conference in Santa Clara, CA.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2013/02/28/interactive-queries-meet-real-time-data.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2012/10/24/introducing-druid.html">Introducing Druid</a></h2>
        <p class="author text-uppercase text-muted">Eric Tschetter · October 24, 2012</p>
        <p><p>In <a href="http://metamarkets.com/2011/druid-part-i-real-time-analytics-at-a-billion-rows-per-second/">April 2011</a>,
we introduced Druid, our distributed, real-time data store.  Today I am
extremely proud to announce that we are releasing the Druid data store to the
community as an open source project. To mark this special occasion, I wanted to
recap why we built Druid, and why we believe there is broader utility for Druid
beyond <a href="http://metamarkets.com/2012/metamarkets-open-sources-druid/metamarkets.com/product">Metamarkets&#39; analytical SaaS offering</a>.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2012/10/24/introducing-druid.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2012/10/24/beyond-hadoop-fast-ad-hoc-queries-on-big-data.html">Beyond Hadoop: Fast Ad-Hoc Queries on Big Data (Video)</a></h2>
        <p class="author text-uppercase text-muted">Eric Tschetter · October 24, 2012</p>
        <p><p>Eric Tschetter (lead architect of Druid)</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2012/10/24/beyond-hadoop-fast-ad-hoc-queries-on-big-data.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2012/09/21/druid-bitmap-compression.html">Maximum Performance with Minimum Storage: Data Compression in Druid</a></h2>
        <p class="author text-uppercase text-muted">Fangjin Yang · September 21, 2012</p>
        <p><p>The Metamarkets solution allows for arbitrary exploration of massive data sets. Powered by Druid, our in-house distributed data store and processor, users can filter time series and top list queries based on Boolean expressions of dimension values. Given that some of our dataset dimensions contain millions of unique values, the subset of things that may match a particular filter expression may be quite large. To design for these challenges, we needed a fast and accurate (not a fast and approximate) solution, and we once again found ourselves buried under a stack of papers, looking for an answer.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2012/09/21/druid-bitmap-compression.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2012/05/04/fast-cheap-and-98-right-cardinality-estimation-for-big-data.html">Fast, Cheap, and 98% Right: Cardinality Estimation for Big Data</a></h2>
        <p class="author text-uppercase text-muted">Fangjin Yang · May  4, 2012</p>
        <p><p>The nascent era of big data brings new challenges, which in turn require new
tools and algorithms. At Metamarkets, one such challenge focuses on cardinality
estimation: efficiently determining the number of distinct elements within a
dimension of a large-scale data set. Cardinality estimations have a wide range
of applications from monitoring network traffic to data mining. If leveraged
correctly, these algorithms can also be used to provide insights into user
engagement and growth, via metrics such as “daily active users.”</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2012/05/04/fast-cheap-and-98-right-cardinality-estimation-for-big-data.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2012/01/19/scaling-the-druid-data-store.html">Scaling the Druid Data Store</a></h2>
        <p class="author text-uppercase text-muted">Eric Tschetter · January 19, 2012</p>
        <p><blockquote>
<p><em>“Give me a lever long enough… and I shall move the world”</em>
— Archimedes</p>
</blockquote>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2012/01/19/scaling-the-druid-data-store.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2011/05/20/druid-part-deux.html">Druid, Part Deux: Three Principles for Fast, Distributed OLAP</a></h2>
        <p class="author text-uppercase text-muted">Eric Tschetter · May 20, 2011</p>
        <p><p>In a <a href="/blog/2011/04/30/introducing-druid.html">previous blog
post</a> we introduced the
distributed indexing and query processing infrastructure we call Druid. In that
post, we characterized the performance and scaling challenges that motivated us
to build this system in the first place. Here, we discuss three design
principles underpinning its architecture.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2011/05/20/druid-part-deux.html">Read More</a>
      </div>
      
      <div class="blog-listing">
        <h2><a href="/blog/2011/04/30/introducing-druid.html">Introducing Druid: Real-Time Analytics at a Billion Rows Per Second</a></h2>
        <p class="author text-uppercase text-muted">Eric Tschetter · April 30, 2011</p>
        <p><p>Here at Metamarkets we have developed a web-based analytics console that
supports drill-downs and roll-ups of high dimensional data sets – comprising
billions of events – in real-time.  This is the first of two blog posts
introducing Druid, the data store that powers our console.  Over the last twelve
months, we tried and failed to achieve scale and speed with relational databases
(Greenplum, InfoBright, MySQL) and NoSQL offerings (HBase). So instead we did
something crazy: we rolled our own database. Druid is the distributed, in-memory
OLAP data store that resulted.</p>
</p>
        <a class="btn btn-default btn-xs" href="/blog/2011/04/30/introducing-druid.html">Read More</a>
      </div>
      
    </div>
  </div>
</div>

    
    <!-- Start page_footer include -->
<footer class="druid-footer">
<div class="container">
  <div class="text-center">
    <p>
    <a href="/technology">Technology</a>&ensp;·&ensp;
    <a href="/use-cases">Use Cases</a>&ensp;·&ensp;
    <a href="/druid-powered">Powered by Druid</a>&ensp;·&ensp;
    <a href="/docs/latest/">Docs</a>&ensp;·&ensp;
    <a href="/community/">Community</a>&ensp;·&ensp;
    <a href="/downloads.html">Download</a>&ensp;·&ensp;
    <a href="/faq">FAQ</a>
    </p>
  </div>
  <div class="text-center">
    <a title="Join the user group" href="https://groups.google.com/forum/#!forum/druid-user" target="_blank"><span class="fa fa-comments"></span></a>&ensp;·&ensp;
    <a title="Follow Druid" href="https://twitter.com/druidio" target="_blank"><span class="fab fa-twitter"></span></a>&ensp;·&ensp;
    <a title="GitHub" href="https://github.com/apache/druid" target="_blank"><span class="fab fa-github"></span></a>
  </div>
  <div class="text-center license">
    Copyright © 2020 <a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a>.<br>
    Except where otherwise noted, licensed under <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.<br>
    Apache Druid, Druid, and the Druid logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
  </div>
</div>
</footer>

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-131010415-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'UA-131010415-1');
</script>
<script>
  function trackDownload(type, url) {
    ga('send', 'event', 'download', type, url);
  }
</script>
<script src="//code.jquery.com/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="/assets/js/druid.js"></script>
<!-- stop page_footer include -->

    
  </body>
</html>
