<!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.9.4/index.html">Documentation for 0.9.4<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.9.5-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">Development<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>
                  <li class="dropdown-header">Extensions</li>
                  <li><a href="extension.html">Extending AsterixDB</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.9.4/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.9.4/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.9.4/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.9.4/aql/primer.html"><strong>Managed datasets</strong></a>, internal LSM-based storage</li>
      <li><a href="docs/0.9.4/aql/externaldata.html"><strong>External datasets</strong></a>, e.g., data on HDFS</li>
      <li><a href="docs/0.9.4/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="mailto:users@asterixdb.apache.org">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.9.4/apache-asterixdb-0.9.4.zip" role="button">Download AsterixDB 0.9.4 <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.9.4/ncservice.html">Installation Guide</a></p>

    <p><a href="docs/0.9.4/sqlpp/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>
