<!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 class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Community<span class="caret"></span></a>
                <ul class="dropdown-menu" role="menu">
                  <li><a href="community.html">Mailing Lists</a></li>
                  <li><a href="community.html#irc">IRC</a></li>
                  <li><a href="community.html#asterixdb-team">Team</a></li>
                  <li><a href="https://issues.apache.org/jira/browse/ASTERIXDB">Issue Tracker</a></li>
                </ul>
              </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"><p class="lead"><strong>Apache AsterixDB&trade;</strong> is a scalable, open source Big Data Management System (BDMS).</p></div>
</div>

<div class="row">
  <div class="col-lg-4">
    <h3 id="key-features">Key Features</h3>
    <ul>
      <li><a href="docs/0.8.8-incubating/aql/datamodel.html"><strong>Flexible</strong></a> data model</li>
      <li><a href="http://asterix.ics.uci.edu/pub/vldb14-storage.pdf"><strong>Distributed</strong></a> storage and transaction</li>
      <li><a href="docs/0.8.8-incubating/feeds/tutorial.html"><strong>Fast</strong></a> data ingestion</li>
      <li><a href="http://asterix.ics.uci.edu/pub/ICDE11_conf_full_690.pdf"><strong>Scalable</strong></a>, data-parallel query execution runtime</li>
      <li><a href="docs/0.8.8-incubating/aql/manual.html"><strong>Declarative</strong></a> query language</li>
    </ul>

    <p><strong>AsterixDB</strong> supports various storage and indexing options:</p>

    <ul>
      <li><a href="docs/0.8.8-incubating/aql/primer.html"><strong>Managed datasets</strong></a>, internal LSM-based storage</li>
      <li><a href="docs/0.8.8-incubating/aql/externaldata.html"><strong>External datasets</strong></a>, e.g., data on HDFS</li>
      <li><a href="docs/0.8.8-incubating/aql/primer.html"><strong>Secondary indexes</strong></a>, for both storage options.</li>
    </ul>

  </div>

  <div class="col-md-4">
    <h3 id="flexible-data">Flexible Data</h3>
    <img src="https://docs.google.com/drawings/d/1-0YZZz3XvOLEfMNhgt-Bf5jgscwHi3N4vVVg9d7hDnI/pub?w=394&amp;h=369" width="80%" />
  </div>

  <div class="col-md-4 text-center"> 
    <h3 id="architecture">Architecture</h3> 
    <img src="https://docs.google.com/drawings/d/11X2RlI95SoWR5wLtnV7kG727uae6pbUPOnYjG9jm5c8/pub?w=720&amp;h=364" width="100%" /> 
  </div>

</div>

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

<div class="row">
  <div class="col-sm-6 text-center">
    <h3 id="example-use-case">Example: Interactive Analytics and Visualization on Tweets</h3>
    <a href="http://cloudberry.ics.uci.edu"><img src="img/tweet.png" width="100%" /></a>
  </div>

  <div class="col-md-6 text-center">
  <h3 id="performance-highlights">Performance Highlights</h3>
<a href="https://docs.google.com/spreadsheets/d/1PTtUUxijKWBS5CQU7lPEQEa7e8fp7n8Js0gq_tvittA/pubchart?oid=1652093339&amp;format=image"><img src="https://docs.google.com/spreadsheets/d/1PTtUUxijKWBS5CQU7lPEQEa7e8fp7n8Js0gq_tvittA/pubchart?oid=1652093339&amp;format=image" width="100%" /></a>
  </div>
</div>

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

<div class="row">
  <div class="col-md-6 text-center">
   	<h3 id="tech-talk">Tech Talk</h3>
     	<iframe width="100%" src="https://www.youtube.com/embed/jIZRMi9rt2E" frameborder="0" allowfullscreen=""></iframe>
  </div>
  <div class="col-md-6 text-center">
    <h3 id="query-demo">Query Demo</h3>
    <iframe width="100%" src="https://www.youtube.com/embed/0FVipiyL-cQ" frameborder="0" allowfullscreen=""></iframe>
  </div>
</div>

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

<div class="row">
  <div class="col-md-4">
    <a class="twitter-timeline" width="100%" href="https://twitter.com/ASTERIXUCI" data-widget-id="733118248380571648">Tweets by @ASTERIXUCI</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
  </div>
  <div class="col-md-4">
    <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;&#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.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 class="col-md-4">
    <h3 id="download">Download</h3>
    <p><a class="btn btn-md btn-success" href="http://www.apache.org/dyn/closer.lua/asterixdb/asterixdb-0.8.8-incubating/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>
      <a class="btn btn-md btn-info" href="https://github.com/apache/asterixdb/" role="button">GitHub <i class="fa fa-github fa-lg"></i></a></p>
    <p><a href="docs/0.8.8-incubating/install.html">Installation Guide</a></p>

    <p><a href="docs/0.8.8-incubating/aql/primer.html">AsterixDB 101</a></p>
  </div>
</div>



    <hr/>

    <footer>
      <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>
