---
published: true
title: Database for modern analytics applications
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">
    <h1>Apache<span style="vertical-align: super; font-size: 0.5em;">®</span> Druid</h1>
    <p class="lead">Druid is a high performance, real-time analytics database that delivers sub-second queries on streaming and batch data at scale and under load.</p>
    <p>
      <a class="button" href="/downloads.html"><span class="fa fa-download"></span> Download</a>
      <a class="button" href="/community/join-slack?v=1"><span class="fab fa-slack"></span> Join Slack</a>
      <a class="button" href="https://github.com/apache/druid/"><span class="fab fa-github"></span> GitHub</a></p>
    </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-bolt"></span>
          <h5>Sub-second queries at any scale</h5>
          <p>
            Execute OLAP queries in milliseconds on high-cardinality and high-dimensional data sets with billions to trillions of rows without pre-defining or caching queries in advance.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-dollar-sign"></span>
          <h5>High concurrency at the lowest cost </h5>
          <p>
            Build real-time analytics applications that supports 100s to 100,000s queries per second at consistent performance with a highly efficient architecture that uses less infrastructure than other databases.
          </p>
        </div>
        <div class="feature">
          <span class="fa fa-chart-line"></span>
          <h5>Real-time and historical insights</h5>
          <p>
            Unlock streaming data potential through Druid's native integration with Apache Kafka and Amazon Kinesis as it supports query-on-arrival at millions of events per second, low latency ingestion, and guaranteed consistency.
          </p>
        </div>
      </div>

      <h2>
        Key Druid Features
      </h2>
      
      <div class="row key-druid-features">
        <div class="col-md-4">
          <div class="card card-margin">
              <div class="card-header no-border">
                  <h5 class="card-title">Interactive Query Engine</h5>
              </div>
              <div class="card-body pt-0">
                  <p>Druid utilizes scatter/gather for high speed queries with data preloaded into memory or local storage to avoid data movement and network latency</p>
              </div>
          </div>
        </div>
        <div class="col-md-4">
          <div class="card card-margin">
              <div class="card-header no-border">
                  <h5 class="card-title">Tiering & QoS</h5>
              </div>
              <div class="card-body pt-0">
                  <p>Configurable tiering with quality of service enables the ideal price-performance for mixed workloads, guarantees priority, and avoids resource contention</p>
              </div>
          </div>
        </div>
        <div class="col-md-4">
          <div class="card card-margin">
              <div class="card-header no-border">
                  <h5 class="card-title">Optimized Data Format</h5>
              </div>
              <div class="card-body pt-0">
                  <p>Ingested data is automatically columnarized, time indexed, dictionary encoded, bitmap indexed, and type-aware compressed</p>
              </div>
          </div>
        </div>
        <div class="col-md-4">
          <div class="card card-margin">
              <div class="card-header no-border">
                  <h5 class="card-title">Elastic Architecture</h5>
              </div>
              <div class="card-body pt-0">
                  <p>Loosely coupled components for ingestion, queries and orchestration combined with a deep storage layer enable easy & quick scale-up & scale-out</p>
              </div>
          </div>
        </div>
        <div class="col-md-4">
          <div class="card card-margin">
              <div class="card-header no-border">
                  <h5 class="card-title">True Stream Ingestion</h5>
              </div>
              <div class="card-body pt-0">
                  <p>A connector-free integration with streaming platforms enables query-on-arrival, high scalability, low latency, and guaranteed consistency</p>
              </div>
          </div>
        </div>
        <div class="col-md-4">
          <div class="card card-margin">
              <div class="card-header no-border">
                  <h5 class="card-title">Non-stop Reliability</h5>
              </div>
              <div class="card-body pt-0">
                  <p>Automatic data services including continuous backup, automated recovery, and multi-node replication ensure high availability and durability</p>
              </div>
          </div>
        </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 class="feature">
          <span class="fa fa-podcast fa"></span>
          <h5>Podcast</h5>
          <p>
            Hear from the Druid community on <a href="https://podcasts.apple.com/us/podcast/tales-at-scale/id1655951714">Apple</a>, <a href="https://open.spotify.com/show/6KAKYLJvCVegsFfKvbfDnt">Spotify</a>, and <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9mZWVkcy5saWJzeW4uY29tLzQ0ODE3OS9yc3M">Google</a>.
          </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>

