<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="favicon.ico">

    <title>Apache AsterixDB</title>

    <!-- Bootstrap core CSS -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <!-- Bootstrap theme -->

    <!-- Custom styles for this template -->
    <link href="css/theme.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
  </head>

  <div class="container theme-showcase" role="main">
          <div class="masthead">
        <p class="lead">
           <a href="index.html">
             <img src="img/asterixdb_tm.png" style="height:75px; width:auto; vertical-align:bottom; margin-top:10px;"/>
           </a>
        </p>
      </div>

      <nav class="navbar navbar-default">
        <div class="container">
          <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="index.html">Overview</a>
          </div>
          <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
              <li><a href="download.html">Download</a></li>
              <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Documentation<span class="caret"></span></a>
                <ul class="dropdown-menu" role="menu">
                  <li class="dropdown-header">Stable release</li>
                  <li><a href="docs/0.8.8-incubating/index.html">Documentation for 0.8.8-incubating<i class="fa fa-external-link fa-sm"></i></a></li>
                  <li class="divider"></li>
                  <li class="dropdown-header">Snapshot release</li>
                  <li><a href="https://ci.apache.org/projects/asterixdb/index.html">Documentation for 0.8.9-SNAPSHOT  <i class="fa fa-external-link fa-sm"></i></a></li>
                </ul>
              </li>
              <li><a href="about.html">About</a></li>
              <li><a href="community.html">Community</a></li>
              <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Contributing <span class="caret"></span></a>
                <ul class="dropdown-menu" role="menu">
                  <li class="dropdown-header">For New Contributors</li>
                  <li><a href="dev-setup.html">Development Setup</a></li>
                  <li class="divider"></li>
                  <li class="dropdown-header">For Committers</li>
                  <li><a href="pushing.html">Pushing changes</a></li>
                  <li><a href="site.html">Editing this site</a></li>
                </ul>
              </li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
              <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"
                   style="padding-right: 30px">
                  <img src="img/feather.png" style="height:20px"/>Apache Software Foundation<span class="caret"/>
                </a>
                <ul class="dropdown-menu dropdown-menu-right" role="menu">
                  <li><a href="http://www.apache.org/"><b>ASF Homepage</b></a></li>
                  <li><a href="http://www.apache.org/licenses/">License</a></li>
                  <li><a href="http://www.apache.org/foundation/sponsorship.html">Donate</a></li>
                  <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
                  <li><a href="http://www.apache.org/security/">Security</a></li>
                </ul>
              </li>
            </ul>
          </div><!--/.nav-collapse -->
        </div>
      </nav>


    <div class="row">
 <div class="col-md-9 col-centered">
   <div class="well text-center"><p class="lead text-center">
     <strong>Apache AsterixDB</strong>™ (incubating) is an open source Big Data Management System (BDMS).</p>
   </div>
 </div>
</div>

<div class="row">
  <div class="col-md-3 col-centered text-center">
    <h2 id="feature-overview">Feature Overview</h2>

    <hr />
  </div>
</div>

<div class="text-center">
<div class="col-md-5 col-md-offset-1">
    <div class="panel panel-primary">
      <h4 class="panel-heading">Data feeds</h4>

      <div class="panel-body">

<div class="col-md-2">
          <p><i class="fa fa-sitemap fa-4x pull-left "></i></p>
        </div>

<div class="col-md-10">
          <p>Process incoming live data, and store it- seamlessly.</p>
        </div>

</div>
    </div>
  </div>

<div class="col-md-5">
    <div class="panel panel-primary">
      <h4 class="panel-heading">Scalable runtime</h4>

      <div class="panel-body">

<div class="col-md-2">
          <p><i class="fa fa-signal fa-4x pull-left"></i></p>
        </div>

<div class="col-md-10">
          <p>AsterixDB is built on Hyracks, a parallel dataflow engine scale tested on hundreds of nodes.</p>
        </div>

</div>
    </div>
  </div>

</div>

<div class="text-center">

<div class="col-md-5 col-md-offset-1">
    <div class="panel panel-primary">
      <h4 class="panel-heading">External data</h4>

      <div class="panel-body">
<div class="col-md-2">
          <p><i class="fa fa-database fa-4x pull-left"></i></p>
        </div>

<div class="col-md-10">
          <p>Query and index your data in HDFS alongside data stored in AsterixDB.</p>
        </div>

</div>
    </div>
  </div>

<div class="col-md-5">
    <div class="panel panel-primary">
      <h4 class="panel-heading">Semi-structured data model</h4>

      <div class="panel-body">

<div class="col-md-2">
          <p><i class="fa fa-table fa-4x pull-left"></i></p>
        </div>

<div class="col-md-10">
          <p>Give your data as much or as little schema as you want, in one system.</p>
        </div>

</div>
    </div>
  </div>

</div>

<div class="text-center">

<div class="col-md-5 col-md-offset-1">
    <div class="panel panel-primary">
      <h4 class="panel-heading">Log-structured storage</h4>

      <div class="panel-body">
<div class="col-md-2">
          <p><i class="fa fa-flask fa-4x pull-left"></i></p>
        </div>

<div class="col-md-10">
          <p>AsterixDB uses state of the art indexing techniques to support high speed data ingestion.</p>
        </div>

</div>
    </div>

  </div>

<div class="col-md-5">
    <div class="panel panel-primary">
      <h4 class="panel-heading">Rich datatypes</h4>

      <div class="panel-body">

<div class="col-md-2">
          <p><i class="fa fa-gear fa-4x pull-left"></i></p>
        </div>

<div class="col-md-10">
          <p>AsterixDB extends JSON datatypes with support for spatial and temporal data.</p>
        </div>

</div>
    </div>
  </div>

</div>

<div class="row">
</div>

<div class="row"><div class="col-md-5 col-centered text-center">

    <h2 id="getting-started">Getting Started</h2>

    <hr />

  </div></div>

<div class="row">
<div class="col-md-6">
    <!--
### Download
You can download the latest stable release here.

<p><a class="btn btn-md btn-success" href="http://www.apache.org/dyn/closer.lua/incubator/asterixdb/asterix-installer-0.8.8-incubating-binary-assembly.zip" role="button">Download AsterixDB 0.8.8-incubating <i class="fa fa-download fa-lg"></i></a></p>

See the installation [guide](docs/install.html), and check out [AsterixDB 101](docs/aql/primer.html) to start using AsterixDB right away.
!-->
  </div>
<div class="col-md-9 col-centered">
    <h3 id="community-and-support">Community and Support</h3>
    <p>If you have any questions, please feel free to ask on our <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#117;&#115;&#101;&#114;&#115;&#064;&#097;&#115;&#116;&#101;&#114;&#105;&#120;&#100;&#098;&#046;&#105;&#110;&#099;&#117;&#098;&#097;&#116;&#111;&#114;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">users</a> mailing list, which you can subscribe to by sending an empty email to <a href="users-subscribe@asterixdb.incubator.apache.org">users-subscribe</a>. Check out the <a href="community.html">Community</a> page for more details.</p>

    <p>If you would like to know more about how to contribute to AsterixDB or any of its related components, head on over to the <a href="dev-setup.html">Contributing</a> page to learn more.</p>
  </div>
</div>


    <hr/>

    <footer>
      <div class="row">
        <div class="col-md-9 col-centered">
          <div class="col-md-9 text-left">
            <p>Apache AsterixDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored
              by the Apache Incubator.
              Incubation is required of all newly accepted projects until a further review indicates that the
              infrastructure, communications, and decision making process have stabilized in a manner consistent with
              other successful ASF projects.
              While incubation status is not necessarily a reflection of the completeness or stability of the code, it
              does indicate that the project has yet to be fully endorsed by the ASF.</p>
          </div>
          <div class="col-md-3 text-right">
            <img src="img/egg-logo.png" style="height:auto; width:200px; vertical-align:bottom;"/>
          </div>
      </div>
      </div>
      <div class="row">
        <div class="col-md-9 col-centered text-center">
          <p/>
          <p>&copy; Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
          <p>Apache AsterixDB, the Apache AsterixDB logo, Apache, and the Apache feather logo are trademarks of the
            Apache Software Foundation</p>
        </div>
      </div>
    </footer>
  </div> <!-- /container -->

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>
