---
layout: front
title: Overview
notitle: true
---
<div class="jumbotron">
<h4>Apache Crail (Incubating) is a high-performance distributed data store designed for fast sharing of ephemeral data in distributed data processing workloads</h4>
<p><a class="btn btn-success" href="download/">Download Now</a></p>
</div>

<br>
<div>
<center>
<img src="{{ site.base }}/img/crail_stack3.png" align="middle" style="width: 340px; text-align:center;">
</center>
</div>
<br>

<div class="row">
<div class="col-lg-4">
<h2>Fast</h2>
<p align="justify">Crail is designed from ground up for modern high-performance networking and storage hardware (RDMA, NVMe, NVMf, etc.). It leverages user-level I/O to access hardware directly from the application context, providing bare-metal I/O performance to analytics workloads. For example, Crail achieves data access at rates close to the 100Gb/s network limit with latencies below 10 us.</p>
<p><a class="btn btn-default" href="overview/index.html#overview">Learn more &raquo;</a></p>
</div>
<div class="col-lg-4">
<h2>Heterogeneous</h2>
<p align="justify">Crail offers a unified storage namespace over a heterogeneous set of storage resources distributed in a cluster, such as DRAM, non-volatile memory (NVM), Flash or GPU memory. Depending on the storage policy, data sets may be stored on a particular storage technology or even a specific storage device, or be distributed across multiple devices and storage technologies. 
</p>
<p><a class="btn btn-default" href="overview/index.html#fs">Learn more &raquo;</a></p>
</div>
<div class="col-lg-4">
<h2>Modular</h2>
<p align="justify">Crail provides a modular architecture where new network and storage technologies can be integrated in the form of pluggable modules. Crail further exports various application interfaces including File System (FS), Key-Value (KV) and Streaming, and integrates seamlessly with the Apache ecosystem, such as Apache Spark, Apache Parquet, Apache Arrow, etc.</p>
<p><a class="btn btn-default" href="overview/index.html#spark">Learn more &raquo;</a></p>
</div>
</div>

<h2>News</h2>
<ul class="news list-unstyled">
{% for post in site.categories.news limit: site.front_page_news %}
    {% if post.shortnews %}
        <li class="shortnews">
            <span class="date">{{ post.date | date: "%B %-d, %Y" }}</span>
            {{ post.content }}
        </li>
    {% else %}
        <li class="bloglink">
            <span class="date">{{ post.date | date: "%B %-d, %Y" }}</span>
            <a href="{{ post.url }}">&raquo; {{ post.title }}</a>
        </li>
    {% endif %}
{% endfor %}
</ul>
{% assign numposts = site.categories.news | size %}
{% if numposts >= site.front_page_news %}
<p><a href="{{ site.base }}/news/">Older posts&hellip;</a></p>
{% endif %}
