---
published: true
title: Interactive Analytics at Scale
layout: html_page
id: home
canonical: 'https://druid.apache.org/'
---

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

<main class="druid-masthead">
  <div class="container">
  <div class="row">
    <div class="text-center">
    <p class="lead">Apache Druid is a high performance real-time analytics database.</p>
    <p><a class="button" href="/downloads.html"><span class="fa fa-download"></span> Download</a>
    <a class="button" href="https://github.com/apache/druid/"><span class="fab fa-github"></span> GitHub</a></p>
  </div>
  </div>
  </div>
</main>

<div class="container">
  <div class="row">

    <div class="col-md-9">
      <h2>
        Overview
      </h2>
      <div class="features">
        <div class="feature">
          <span class="fa fa-chart-line fa"></span>
          <h5>A fast, modern analytics database</h5>
          <p>
            Druid is designed for <a href='/use-cases'>workflows</a> where fast ad-hoc analytics, instant data visibility, or supporting high concurrency is important. As such, Druid is often used to power UIs where an interactive, consistent user experience is desired.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-forward fa"></span>
          <h5>Easy integration with your existing data pipelines</h5>
          <p>
            Druid streams data from message buses such as <a href='http://kafka.apache.org/'>Kafka</a>, and <a href='https://aws.amazon.com/kinesis/'>Amazon Kinesis</a>, and batch load files from data lakes such as <a href='https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html'>HDFS</a>, and <a href='https://aws.amazon.com/s3/'>Amazon S3</a>. Druid supports most popular file formats for structured and semi-structured data.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-lightbulb fa"></span>
          <h5>Fast, consistent queries at high concurrency</h5>
          <p>
            Druid has been <a href='https://imply.io/post/performance-benchmark-druid-presto-hive'>benchmarked</a> to greatly outperform legacy solutions. Druid combines novel storage ideas, indexing structures, and both exact and approximate queries to return most results in under a second.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-unlock fa"></span>
          <h5>Broad applicability</h5>
          <p>
            Druid <a href='/use-cases'>unlocks new types of queries and workflows</a> for clickstream, APM, supply chain, network telemetry, digital marketing, risk/fraud, and many other types of data. Druid is purpose built for rapid, ad-hoc queries on both real-time and historical data.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-cloud fa"></span>
          <h5>Deploy in public, private, and hybrid clouds</h5>
          <p>
            Druid can be deployed in any *NIX environment on commodity hardware, both in the cloud and on premise. Deploying Druid is easy: scaling up and down is as simple as adding and removing Druid services.
          </p>
        </div>
      </div>

      <h2>
        Learn more
      </h2>
      <div class="features">
        <div class="feature">
          <span class="fa fa-power-off fa"></span>
          <h5>Powered By</h5>
          <p>
            Druid is proven in production at the <a href='/druid-powered'>world’s leading companies</a> at massive scale.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-info fa"></span>
          <h5>FAQ</h5>
          <p>
            Learn about some of the <a href='faq'>most common questions about Druid</a>.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-flag-checkered fa"></span>
          <h5>Quickstart</h5>
          <p>
            <a href="/docs/latest/tutorials/quickstart">Get started with Druid</a> in minutes. Load your own data and query it.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-question-circle fa"></span>
          <h5>Get Help</h5>
          <p>
            Get help from a <a href='/community/'>wide network of community members</a> about using Druid.
          </p>
        </div>
      </div>

    </div>

    <div class="col-md-3">
      {% include event-list.html %}
      {% include featured-list.html %}
      <div class="bottom-news">
        {% include news-list.html %}
      </div>
    </div>

  </div>
</div>

