blob: 5b60a5fc3e2bac8f0a8c84b56f1f218d7ea9ebd1 [file] [log] [blame]
---
layout: default
---
<div class="container">
<div class="jumbotron">
<h1>Apache Arrow</h1>
<p class="lead">Powering Columnar In-Memory Analytics</p>
<p>
<a class="btn btn-lg btn-success" href="mailto:dev-subscribe@arrow.apache.org" role="button">Join Mailing List</a>
<a class="btn btn-lg btn-primary" href="{{ site.baseurl }}/install/" role="button">Install (0.4.1 Release - June 9, 2017)</a>
</p>
</div>
<h4><strong>Latest News</strong>: <a href="{{ site.baseurl }}/blog/">Apache Arrow 0.4.1 release</a></h4>
<div class="row">
<div class="col-lg-4">
<h2>Fast</h2>
<p>Apache Arrow&#8482; enables execution engines to take advantage of the latest SIMD (Single input multiple data) operations included in modern processors, for native vectorized optimization of analytical data processing. Columnar layout of data also allows for a better use of CPU caches by placing all data relevant to a column operation in as compact of a format as possible.</p>
</div>
<div class="col-lg-4">
<h2>Flexible</h2>
<p>Arrow acts as a new high-performance interface between various systems. It is also focused on supporting a wide variety of industry-standard programming languages. Java, C, C++, Python are underway and more languages are expected soon.</p>
</div>
<div class="col-lg-4">
<h2>Standard</h2>
<p>Apache Arrow is backed by key developers of 13 major open source projects, including Calcite, Cassandra, Drill, Hadoop, HBase, Ibis, Impala, Kudu, Pandas, Parquet, Phoenix, Spark, and Storm making it the de-facto standard for columnar in-memory analytics.</p>
</div>
</div> <!-- close "row" div -->
<h2>Zero-Copy IPC and Streaming Messaging</h2>
<div align="left">
<h4>Apache Arrow supports zero-copy shared memory IPC and a streaming wire
format that fully avoids traditional data serialization costs</h4>
</div>
<h2>Performance Advantage of Columnar In-Memory</h2>
<div align="center">
<img src="img/simd.png" alt="SIMD" style="width:60%" />
</div>
<h2>Advantages of a Common Data Layer</h2>
<div class="row">
<div class="col-lg-4" style="width:50%">
<img src="img/copy2.png" alt="common data layer" style="width:100%" />
<ul>
<li>Each system has its own internal memory format</li>
<li>70-80% CPU wasted on serialization and deserialization</li>
<li>Similar functionality implemented in multiple projects</li>
</ul>
</div>
<div class="col-lg-4" style="width:50%">
<img src="img/shared2.png" alt="common data layer" style="width:100%" />
<ul>
<li>All systems utilize the same memory format</li>
<li>No overhead for cross-system communication</li>
<li>Projects can share functionality (eg, Parquet-to-Arrow reader)</li>
</ul>
</div>
</div>
</div> <!-- /container -->
</body>
</html>