---
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 modern cloud-native, stream-native, analytics database</h5>
          <p>
            Druid is designed for workflows where fast queries and ingest really matter. Druid excels at instant data visibility, ad-hoc queries, operational analytics, and handling high concurrency. Consider Druid as an open source alternative to data warehouses for a variety of <a href='/use-cases'>use cases</a>.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-forward fa"></span>
          <h5>Easy integration with your existing data pipelines</h5>
          <p>
            Druid can natively stream data from message buses such as <a href='http://kafka.apache.org/'>Kafka</a>, <a href='https://aws.amazon.com/kinesis/'>Amazon Kinesis</a>, and more, 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>, <a href='https://aws.amazon.com/s3/'>Amazon S3</a>, and more.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-lightbulb fa"></span>
          <h5>Up to 100x faster than traditional solutions</h5>
          <p>
            Druid has been <a href='https://imply.io/post/performance-benchmark-druid-presto-hive'>benchmarked</a> to greatly outpeform legacy solutions for data ingestion and data querying. Druid's novel architecture combines the best of <a href='https://en.wikipedia.org/wiki/Data_warehouse'>data warehouses</a>, <a href='https://en.wikipedia.org/wiki/Time_series_database'>timeseries databases</a>, and <a href='https://en.wikipedia.org/wiki/Search_engine_(computing)'>search systems</a>.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-unlock fa"></span>
          <h5>Unlock new workflows</h5>
          <p>
            Druid <a href='/use-cases'>unlocks new types of queries and workflows</a> for clickstream, APM, supply chain, network telemetry, digital marketing, and many other forms of event-driven 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 AWS/GCP/Azure, hybrid clouds, Kubernetes, and bare metal</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>

