<!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 -->
    <title>CarbonData</title>

    <!-- Bootstrap -->
	
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link href="css/style.css" rel="stylesheet">    	
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <header>
     <nav class="navbar navbar-default navbar-custom cd-navbar-wrapper" >
      <div class="container">
        <div class="navbar-header">
          <button aria-controls="navbar" aria-expanded="false" data-target="#navbar" data-toggle="collapse" class="navbar-toggle collapsed" type="button">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a href="index.html" class="logo">
             <img src="images/CarbonDataLogo.png" alt="CarbonData logo" title="CarbocnData logo"  />      
          </a>
        </div>
        <div class="navbar-collapse collapse cd_navcontnt" id="navbar">         
          <ul class="nav navbar-nav navbar-right navlist-custom">
              <li><a href="#" class="active"><i class="fa fa-home" aria-hidden="true"></i> </a></li>
            <!--  <li><a href="https://github.com/apache/incubator-carbondata">  </a>-->
               <li class="dropdown">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Download <span class="caret"></span></a>
                  <ul class="dropdown-menu">
                    <li><a href="https://www.apache.org/dyn/closer.lua/incubator/carbondata/0.2.0-incubating"  target="blank">Apache CarbonData 0.2.0</a></li>
                    <li><a href="https://www.apache.org/dyn/closer.lua/incubator/carbondata/0.1.1-incubating"  target="blank">Apache CarbonData 0.1.1</a></li>
                    <li><a href="https://www.apache.org/dyn/closer.lua/incubator/carbondata/0.1.0-incubating"  target="blank">Apache CarbonData 0.1.0</a></li>
                    </ul>
                </li>

               </li>
              <li><a href="#">OverView </a></li>
              <li><a href="dashboard.html" target="blank">Documents </a></li>               
              <li class="dropdown">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Community <span class="caret"></span></a>
                  <ul class="dropdown-menu">
                    <li><a href="https://cwiki.apache.org/confluence/display/CARBONDATA/Contributing+to+CarbonData"  target="blank">Contributing to CarbonData</a></li>
                    <li><a href="http://apache-carbondata-mailing-list-archive.1130556.n5.nabble.com/"  target="blank">CarbonData Mailing List</a></li>
                    </ul>
                </li>

              <li><a href="http://www.apache.org/" class="apache_link" target="blank">apache</a>
           </ul>
        </div><!--/.nav-collapse -->
      </div>
    </nav>
  </header> <!-- end Header part -->

  <div class="fixed-padding"></div> <!--  top padding with fixde header  -->

  <section><!-- Banner part -->
    <div class="cd-homebanner">
      <div class="container-fluid">
         <div class="col-md-6 col-sm-6">
             <div class="slide-title">
              The New <strong>BigData</strong> File Format for <strong>Faster Data</strong> Analysis
             </div>
            <!-- <a href="#" class="getmore-btn">Get More</a>-->
         </div>
         <div class="col-md-6 col-sm-6">
             <div class="slide-img"><img src="images/CDslide_1.png" alt=""/> </div>
         </div>
      </div>
    </div>
  </section> <!-- End Banner part -->
   
  <section><!-- About carbonData part -->
    <div class="cd-aboutwrapper">
      <div class="container-fluid">
         <div class="col-md-9 col-sm-9">   
               <div class="cd-aboutblock">
                       <h4 class="title">  What is CarbonData
                        <span class="title-underline"></span> 
                       </h4>
                       <p class="para-txt">CarbonData is a fully indexed columnar and Hadoop native data-store for processing heavy analytical workloads and detailed queries on big data
                       </p>
                       <div class="cd-indexing-blog">
                        <img src="images/CDfullyIndexing.png" alt=""/>
                       </div>
                       <a href="dashboard.html" class="knowmore-btn"> Know more</a> 
               </div>

         </div>  <!-- carbonData -->
         <div class="col-md-3 col-sm-3">
            <div class="cd-releaseblock">
                 <div class="latestR">
                    <h4 class="title">Latest release
                        <span class="title-underline"></span> 
                    </h4>
                    <div class="linkblock">
                      <a href="https://www.apache.org/dyn/closer.lua/incubator/carbondata/0.2.0-incubating" target="blank">Apache CarbonData 0.2.0-incubating</a>
                         <span class="release-date">Nov 2016</span>
                      <a href="https://www.apache.org/dyn/closer.lua/incubator/carbondata/0.1.1-incubating" target="blank">Apache CarbonData 0.1.1-incubating</a>
                         <span class="release-date">Sep 2016</span>
                      <a href="https://www.apache.org/dyn/closer.lua/incubator/carbondata/0.1.0-incubating" target="blank">Apache CarbonData 0.1.0-incubating</a>
                         <span class="release-date">Aug 2016</span>

                      
                    </div>
                 </div>
                 <div class="nextR">
                     <h4 class="title">Release Note
                        <span class="title-underline"></span> 
                     </h4>
                     <div class="linkblock">
                      <a href="https://cwiki.apache.org/confluence/display/CARBONDATA/Apache+CarbonData+0.2.0-incubating+Released" target="blank">
                      CarbonData Release notes 0.2.0</a>
                        
                      <!--  <span class="release-date">Upcoming</span>-->
                     </div>
                  </div>
            </div>
            
         </div><!-- latest release -->
    </div>
  </section> <!-- End About carbonData part -->

   <section><!-- Flow carbonData part -->
    <div class="cd-flowblock">
      <div class="container-fluid">
          <div class="col-md-4 col-sm-4">
             <div class="cd-columnblock"> 
                 <div class="iconbox">
                      <i class="icon one"></i>
                 </div>
                 <h4 class="title">Unique Data Organization</h4>
                 <p class="title-info">Stores data in Columnar format, with each Data Block(row group) sorted independent of the other to allow faster filtering and better compression</p>
             </div>
          </div>

          <div class="col-md-4 col-sm-4">
             <div class="cd-columnblock"> 
                 <div class="iconbox">
                      <i class="icon one"></i>
                 </div>
                 <h4 class="title">Multi Level Indexing</h4>
                 <p class="title-info">Utilizes multiple indices at various levels to enable faster search and speeding up query processing</p>
             </div>
          </div>

          <div class="col-md-4 col-sm-4">
             <div class="cd-columnblock"> 
                 <div class="iconbox">
                      <i class="icon one"></i>
                 </div>
                 <h4 class="title">Deep Spark Integration</h4>
                 <p class="title-info">DataFrame & SQL compliance</p>
             </div>
          </div>

          <div class="col-md-4 col-sm-4">
             <div class="cd-columnblock"> 
                 <div class="iconbox">
                      <i class="icon one"></i>
                 </div>
                 <h4 class="title">Advanced Push Down Optimization</h4>
                 <p class="title-info">Pushes much of query processing close to the data to minimize the amount of data being read, processed, converted, transmitted and shuffled</p>
             </div>
          </div>


          <div class="col-md-4 col-sm-4">
             <div class="cd-columnblock"> 
                 <div class="iconbox">
                      <i class="icon one"></i>
                 </div>
                 <h4 class="title">  Dictionary Encoding</h4>
                 <p class="title-info">Encoded data for reduced storage space & faster processing</p>
             </div>
          </div>


          <div class="col-md-4 col-sm-4">
             <div class="cd-columnblock"> 
                 <div class="iconbox">
                      <i class="icon one"></i>
                 </div>
                 <h4 class="title">Update Delete Support</h4>
                 <p class="title-info">Support update and delete over BigData</p>
             </div>
          </div>

      </div>
    </div>
   </section><!-- End Flow carbonData part -->

   <section><!-- CarbonData release download part -->
       <div class="cd-releasedownload">
         <div class="container-fluid">
           <div class="col-md-9 col-sm-9">
                 <h4 class="title"><i class="cube-icon"><img src="images/CDcube_icon.png" alt=""/></i> 
                    CarbonData 0.2.0 released 
                    <span class="release-date">Nov 2016 </span>
                 </h4>  

                 <a href="#" class="release-note"> relase note</a>
           </div>
           <div class="col-md-3 col-sm-3">
            <a href="https://cwiki.apache.org/confluence/display/CARBONDATA/Apache+CarbonData+0.2.0-incubating+Released" class="download-btn" target="blank">Download</a> 
           </div>
         </div>
       </div>
   </section><!-- End CarbonData release download part -->

<!--
   <section><!- CarbonData release download part ->
       <div class="cd-featureblock">
        <div class="bg-opacity"> </div>
         <div class="container-fluid">
           <div class="col-md-6 col-sm-6">
                 <h4 class="title">Eco System</h4>  
                 <div class="ecosystemblock"></div>
           </div>
           <div class="col-md-6 col-sm-6">
                 <h4 class="title">Perforance boost</h4>              
                 <div class="performenceblock"></div>
           </div>
         </div>
       </div>
   </section>--><!-- End CarbonData release download part -->

   <section><!-- Flow systemblock part -->
    <div class="cd-systemblock">
      <div class="container-fluid">
          <div class="col-md-4 col-sm-4">
             <div class="cd-thecolumnblock"> 
                 <h4 class="title">Getting Started 
                  <span class="title-underline"></span> 
                 </h4>
                 <p class="title-info">Getting started with CarbonData is easy. All  you need to do is
                  <a href="#">Download </a> the latest release Read the <a href="#">Quick Start</a>  
                  For detailed reference, read the <a href="#" > Documentation</a></p>
             </div>
          </div>

          <div class="col-md-4 col-sm-4">
             <div class="cd-thecolumnblock"> 
                 <h4 class="title">Community
                  <span class="title-underline"></span> 
                 </h4>
                 <p class="title-info">There are many ways to reach the community :<br><br>
                 You can ask any question or start a discusion through dev mailing website forum : 
                 <a href="http://apache-carbondata-mailing-list-archive.1130556.n5.nabble.com">
                  http://apache-carbondata-mailing-list-archive.1130556.n5.nabble.com</a>

                 </p>
             </div>
          </div>

          <div class="col-md-4 col-sm-4">
             <div class="cd-thecolumnblock"> 
                 <h4 class="title">Contribution
                  <span class="title-underline"></span> 
                </h4>
                 <p class="title-info"> Apache CarbonData is built by a team of developers from huawei, Talend,eBay,Intel and          VMWare. Since its inception in Aug 2016, it has more than 50 contributors If you'd like to contribute to CarbonData, learn how to contribute</p>
             </div>
          </div>

      </div>
    </div>
   </section><!-- End systemblock part -->

   <section><!-- Apacheblock part -->
    <div class="cd-apacheblock">
      <div class="container-fluid">
          <div class="col-md-4 col-sm-4">
               <div class="cd-apachepic"> 
                  <img src="images/CDapacheopensource.jpg" alt=""/>
               </div>
          </div>

          <div class="col-md-8 col-sm-8">
             <div class="cd-apachetxtblock"> 
                 <h4 class="title">Apache & OpenSource
                  <span class="title-underline"></span> 
                </h4>
                 <p class="title-info">  CarbonData is your project ! CarbonData is an 
                    <a href="http://www.apache.org/" class="linktxt" target="blank"> Apache Software Foundation</a> project, available under the Apache v2 license It's a complete open community, always listening proposals and comments <br><br>
                    <a  href="#" class="linktxt">Sources, mailing lists, issue tracker</a>: it's fully open, you can access directly We also love contributions: don't hesitate to contribute<br><br>
                    <a   href="http://community.apache.org"  target="blank" class="linktxt">Be Involved In The Community </a>|<a  href="#" class="linktxt"> How To Contribute </a>
                 </p>
             </div>
          </div>

      </div>
    </div>
   </section><!-- End apacheblock part -->
  
  <footer>
    <div class="topcontant">
      <div class="container-fluid">
          <div class="col-md-4 col-sm-4">
            <p class="footext">
              Apache CarbonData, CarbonData, Apache, the Apache feather logo, and the Apache CarbonData project logo are trademarks of The Apache Software Foundation
            </p>
 
          </div>
          <div class="col-md-8 col-sm-8">
             <ul class="footer-nav">
              <li><a href="">Site Map</a></li>
              <li><a href="">Service</a></li>
              <li><a href="">Contact us</a></li>
             </ul>
          </div>
       </div>
    </div>
    <div class="bottomcontant">
       <div class="container-fluid">
          <div class="col-md-8 col-sm-8">
            <p class="copyright-txt">Copyright © 2016. All rights reserved  &nbsp;&nbsp;|&nbsp;&nbsp;
              <a href="#" class="term-links">Apache Software Foundation  </a>&nbsp;&nbsp;| &nbsp;&nbsp; <a href="#" class="term-links"> Privacy Policy </a>
            </p>

          </div>
          <div class="col-md-4 col-sm-4">
                 <div class="social-icon">
                  <a href="#" class="icons"><i class="fa fa-facebook" aria-hidden="true"></i></a>
                  <a href="#" class="icons"><i class="fa fa-twitter" aria-hidden="true"></i></a>
                  <a href="#" class="icons"><i class="fa fa-linkedin" aria-hidden="true"></i></a>
                 </div>
          </div>
      </div>
  </div>

  </footer>


  <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
  </body>
  </html>