blob: 8eb7cc46ced47f2e6d1baeb9145aa1a58ccea8e3 [file] [log] [blame]
<!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="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<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>