<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8.1 from src/site/xdoc/supportingprojects.xml
 | Rendered using Apache Maven Fluido Skin 1.7.1-HBase
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache HBase &#x2013; Supporting Projects</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.1-HBase.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script type="text/javascript" src="./js/apache-maven-fluido-1.7.1-HBase.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0"></meta>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap-responsive.min.css"/>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/styles/github.min.css"/>
      <link rel="stylesheet" href="css/site.css"/>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/highlight.min.js"></script>
  </head>
  <body class="topBarEnabled">
    <div id="topbar" class="navbar navbar-fixed-top ">
      <div class="navbar-inner">
            <div class="container">
              <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
              </a>
              <div class="nav-collapse">
            <ul class="nav">
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache HBase Project <b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li><a href="index.html" title="Overview">Overview</a></li>
            <li><a href="https://www.apache.org/licenses/" title="License">License</a></li>
            <li><a href="downloads.html" title="Downloads">Downloads</a></li>
            <li><a href="https://issues.apache.org/jira/browse/HBASE?report=com.atlassian.jira.plugin.system.project:changelog-panel#selectedTab=com.atlassian.jira.plugin.system.project%3Achangelog-panel" title="Release Notes">Release Notes</a></li>
            <li><a href="coc.html" title="Code Of Conduct">Code Of Conduct</a></li>
            <li><a href="http://blogs.apache.org/hbase/" title="Blog">Blog</a></li>
            <li><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li>
            <li><a href="team-list.html" title="Team">Team</a></li>
            <li><a href="https://reviews.apache.org/" title="ReviewBoard">ReviewBoard</a></li>
            <li><a href="sponsors.html" title="HBase Sponsors">HBase Sponsors</a></li>
            <li><a href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
            <li><a href="poweredbyhbase.html" title="Powered by HBase">Powered by HBase</a></li>
            <li><a href="resources.html" title="Other resources">Other resources</a></li>
        </ul>
      </li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Information <b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li><a href="project-summary.html" title="Project Summary">Project Summary</a></li>
            <li><a href="dependency-info.html" title="Dependency Information">Dependency Information</a></li>
            <li><a href="source-repository.html" title="Source Repository">Source Repository</a></li>
            <li><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li>
            <li><a href="dependency-management.html" title="Dependency Management">Dependency Management</a></li>
            <li><a href="dependencies.html" title="Dependencies">Dependencies</a></li>
            <li><a href="dependency-convergence.html" title="Dependency Convergence">Dependency Convergence</a></li>
            <li><a href="plugin-management.html" title="Plugin Management">Plugin Management</a></li>
            <li><a href="plugins.html" title="Plugins">Plugins</a></li>
        </ul>
      </li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation and API <b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li><a href="book.html" target="_blank" title="Reference Guide">Reference Guide</a></li>
            <li><a href="apache_hbase_reference_guide.pdf" target="_blank" title="Reference Guide (PDF)">Reference Guide (PDF)</a></li>
            <li><a href="book.html#quickstart" target="_blank" title="Getting Started">Getting Started</a></li>
            <li><a href="apidocs/index.html" target="_blank" title="User API">User API</a></li>
            <li><a href="testapidocs/index.html" target="_blank" title="User API (Test)">User API (Test)</a></li>
            <li><a href="2.0/devapidocs/index.html" target="_blank" title="Developer API">Developer API</a></li>
            <li><a href="2.0/testdevapidocs/index.html" target="_blank" title="Developer API (Test)">Developer API (Test)</a></li>
            <li><a href="http://abloz.com/hbase/book.html" target="_blank" title="中文参考指南(单页)">中文参考指南(单页)</a></li>
            <li><a href="book.html#faq" target="_blank" title="FAQ">FAQ</a></li>
            <li><a href="book.html#other.info" target="_blank" title="Videos/Presentations">Videos/Presentations</a></li>
            <li><a href="http://wiki.apache.org/hadoop/Hbase" target="_blank" title="Wiki">Wiki</a></li>
            <li><a href="acid-semantics.html" target="_blank" title="ACID Semantics">ACID Semantics</a></li>
            <li><a href="book.html#arch.bulk.load" target="_blank" title="Bulk Loads">Bulk Loads</a></li>
            <li><a href="metrics.html" target="_blank" title="Metrics">Metrics</a></li>
            <li><a href="book.html#replication" target="_blank" title="Cluster replication">Cluster replication</a></li>
            <li class="dropdown-submenu">
<a href="" title="2.1 Documentation">2.1 Documentation</a>
              <ul class="dropdown-menu">
                  <li><a href="2.1/apidocs/index.html" target="_blank" title="API">API</a></li>
                  <li><a href="2.1/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
              </ul>
            </li>
            <li class="dropdown-submenu">
<a href="" title="2.0 Documentation">2.0 Documentation</a>
              <ul class="dropdown-menu">
                  <li><a href="2.0/apidocs/index.html" target="_blank" title="API">API</a></li>
                  <li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
              </ul>
            </li>
        </ul>
      </li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li><a href="http://www.apache.org/foundation/" target="_blank" title="Apache Software Foundation">Apache Software Foundation</a></li>
            <li><a href="http://www.apache.org/foundation/how-it-works.html" target="_blank" title="How Apache Works">How Apache Works</a></li>
            <li><a href="http://www.apache.org/foundation/sponsorship.html" target="_blank" title="Sponsoring Apache">Sponsoring Apache</a></li>
        </ul>
      </li>
            </ul>
    <div id="search-form" class="navbar-search pull-right">
      <script type="text/javascript">
      var cx = '000385458301414556862:sq1bb0xugjg';

      (function() {
        var gcse = document.createElement('script');
        gcse.type = 'text/javascript';
        gcse.async = true;
        gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(gcse, s);
      })();

      </script>
      <gcse:search></gcse:search>
  </div>
            </div>
        </div>
      </div>
    </div>
    <div class="container">
      <div id="banner">
        <div class="pull-left"><a href="./" id="bannerLeft"><img src=""  alt=""/></a></div>
        <div class="pull-right"><a href="http://hbase.apache.org/" id="bannerRight"><img src="images/hbase_logo_with_orca_large.png"  alt="Apache HBase"/></a></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        </ul>
      </div>
        <div id="bodyColumn" >

  
<div class="section">
<h2><a name="Supporting_Projects"></a>Supporting Projects</h2>
  
<p>This page is a list of projects that are related to HBase. To
    have your project added, file a documentation JIRA or email
    <a class="externalLink" href="mailto:dev@hbase.apache.org">hbase-dev</a> with the relevant
    information. If you notice out-of-date information, use the same avenues to
    report it.
  </p>
  
<p><b>These items are user-submitted and the HBase team assumes no responsibility for their accuracy.</b></p>
  
<div class="section">
<h3><a name="Projects_that_add_new_features_to_HBase"></a>Projects that add new features to HBase</h3>
  
<dl>
   
<dt><a class="externalLink" href="https://github.com/XiaoMi/themis/">Themis</a></dt>
   
<dd>Themis provides cross-row/cross-table transaction on HBase based on
    Google's Percolator.</dd>
   
<dt><a class="externalLink" href="https://github.com/caskdata/tephra">Tephra</a></dt>
   
<dd>Cask Tephra provides globally consistent transactions on top of Apache
    HBase.</dd>
   
<dt><a class="externalLink" href="https://github.com/VCNC/haeinsa">Haeinsa</a></dt>
   
<dd>Haeinsa is linearly scalable multi-row, multi-table transaction library
    for HBase.</dd>
   
<dt><a class="externalLink" href="https://github.com/juwi/HBase-TAggregator">HBase TAggregator</a></dt>
   
<dd>An HBase coprocessor for timeseries-based aggregations.</dd>
   
<dt><a class="externalLink" href="http://trafodion.incubator.apache.org/">Apache Trafodion</a></dt>
   
<dd>Apache Trafodion is a webscale SQL-on-Hadoop solution enabling
    transactional or operational workloads on Hadoop.</dd>
   
<dt><a class="externalLink" href="http://phoenix.apache.org/">Apache Phoenix</a></dt>
   
<dd>Apache Phoenix is a relational database layer over HBase delivered as a
    client-embedded JDBC driver targeting low latency queries over HBase data.</dd>
   
<dt><a class="externalLink" href="https://github.com/cloudera/hue/tree/master/apps/hbase">Hue HBase Browser</a></dt>
   
<dd>An Easy &amp; Powerful WebUI for HBase, distributed with <a class="externalLink" href="https://www.gethue.com">Hue</a>.</dd>
   
<dt><a class="externalLink" href="https://github.com/NGDATA/hbase-indexer/tree/master/hbase-sep">HBase SEP</a></dt>
   
<dd>the HBase Side Effect Processor, a system for asynchronously and reliably listening to HBase
    mutation events, based on HBase replication.</dd>
   
<dt><a class="externalLink" href="https://github.com/ngdata/hbase-indexer">Lily HBase Indexer</a></dt>
   
<dd>indexes HBase content to Solr by listening to the replication stream
    (uses the HBase SEP).</dd>
   
<dt><a class="externalLink" href="https://github.com/sonalgoyal/crux/">Crux</a></dt>
   
<dd> - HBase Reporting and Analysis with support for simple and composite keys,
    get and range scans, column based filtering, charting.</dd>
   
<dt><a class="externalLink" href="https://github.com/yahoo/omid/">Omid</a></dt>
   
<dd> - Lock-free transactional support on top of HBase providing Snapshot
    Isolation.</dd>
   
<dt><a class="externalLink" href="http://dev.tailsweep.com/projects/parhely">Parhely</a></dt>
   
<dd>ORM for HBase</dd>
   
<dt><a class="externalLink" href="http://code.google.com/p/hbase-writer/">HBase-Writer</a></dt>
   
<dd> Heritrix2 Processor for writing crawls to HBase.</dd>
   
<dt><a class="externalLink" href="http://www.pigi-project.org/">Pigi Project</a></dt>
   
<dd>The Pigi Project is an ORM-like framework. It includes a configurable
    index system and a simple object to HBase mapping framework (or indexing for
    HBase if you like).  Designed for use by web applications.</dd>
   
<dt><a class="externalLink" href="http://code.google.com/p/hbase-thrift/">hbase-thrift</a></dt>
   
<dd>hbase-thrift generates and installs Perl and Python Thrift bindings for
    HBase.</dd>
   
<dt><a class="externalLink" href="http://belowdeck.kissintelligentsystems.com/ohm">OHM</a></dt>
   
<dd>OHM is a weakly relational ORM for HBase which provides Object Mapping and
    Column indexing. It has its own compiler capable of generating interface
    code for multiple languages. Currently C# (via the Thrift API), with support
    for Java currently in development. The compiler is easily extensible to add
    support for other languages.</dd>
   
<dt><a class="externalLink" href="http://datastore.googlecode.com">datastore</a></dt>
   
<dd>Aims to be an implementation of the
    <a class="externalLink" href="http://code.google.com/appengine/docs/python/datastore/">Google app-engine datastore</a>
    in Java using HBase instead of bigtable.</dd>
   
<dt><a class="externalLink" href="http://datanucleus.org">DataNucleus</a></dt>
   
<dd>DataNucleus is a Java JDO/JPA/REST implementation. It supports HBase and
    many other datastores.</dd>
   
<dt><a class="externalLink" href="http://github.com/impetus-opensource/Kundera">Kundera</a></dt>
   
<dd>Kundera is a JPA 2.0 based object-datastore mapping library for HBase,
    Cassandra and MongoDB.</dd>
   
<dt><a class="externalLink" href="http://github.com/zohmg/zohmg/tree/master">Zohmg</a></dt>
   
<dd>Zohmg is a time-series data store that uses HBase as its backing store.</dd>
   
<dt><a class="externalLink" href="http://grails.org/plugin/gorm-hbase">Grails Support</a></dt>
   
<dd>Grails HBase plug-in.</dd>
   
<dt><a class="externalLink" href="http://www.bigrecord.org">BigRecord</a></dt>
   
<dd>is an active_record-based object mapping layer for Ruby on Rails.</dd>
   
<dt><a class="externalLink" href="http://github.com/greglu/hbase-stargate">hbase-stargate</a></dt>
   
<dd>Ruby client for HBase Stargate.</dd>
   
<dt><a class="externalLink" href="http://github.com/ghelmling/meetup.beeno">Meetup.Beeno</a></dt>
   
<dd>Meetup.Beeno is a simple HBase Java &quot;beans&quot; mapping framework based on
    annotations. It includes a rudimentary high level query API that generates
    the appropriate server-side filters.</dd>
   
<dt><a class="externalLink" href="http://www.springsource.org/spring-data/hadoop">Spring Hadoop</a></dt>
   
<dd> - The Spring Hadoop project provides support for writing Apache Hadoop
    applications that benefit from the features of Spring, Spring Batch and
    Spring Integration.</dd>
   
<dt><a class="externalLink" href="https://jira.springsource.org/browse/SPR-5950">Spring Framework HBase Template</a></dt>
   
<dd>Spring Framework HBase Template provides HBase data access templates
    similar to what is provided in Spring for JDBC, Hibernate, iBatis, etc.
    If you find this useful, please vote for its inclusion in the Spring Framework.</dd>
   
<dt><a class="externalLink" href="http://github.com/davidsantiago/clojure-hbase">Clojure-HBase</a></dt>
   
<dd>A library for convenient access to HBase from Clojure.</dd>
   
<dt><a class="externalLink" href="http://www.lilyproject.org/lily/about/playground/hbaseindexes.html">HBase indexing library</a></dt>
   
<dd>A library for building and querying HBase-table-based indexes.</dd>
   
<dt><a class="externalLink" href="http://github.com/akkumar/hbasene">HBasene</a></dt>
   
<dd>Lucene+HBase - Using HBase as the backing store for the TF-IDF
    representations needed by Lucene. Also, contains a library for constructing
    lucene indices from HBase schema.</dd>
   
<dt><a class="externalLink" href="http://github.com/larsgeorge/jmxtoolkit">JMXToolkit</a></dt>
   
<dd>A HBase tailored JMX toolkit enabling monitoring with Cacti and checking
    with Nagios or similar.</dd>
   
<dt><a class="externalLink" href="http://github.com/ykulbak/ihbase">IHBASE</a></dt>
   
<dd>IHBASE provides faster scans by indexing regions, each region has its own
    index. The indexed columns are user-defined and indexes can be intersected or
    joined in a single query.</dd>
   
<dt><a class="externalLink" href="http://github.com/apurtell/hbase-ec2">HBASE EC2 scripts</a></dt>
   
<dd>This collection of bash scripts allows you to run HBase clusters on
    Amazon's Elastic Compute Cloud (EC2) service with best practices baked in.</dd>
   
<dt><a class="externalLink" href="http://github.com/apurtell/hbase-stargate">Stargate</a></dt>
   
<dd>Stargate provides an enhanced RESTful interface.</dd>
   
<dt><a class="externalLink" href="http://github.com/hbase-trx/hbase-transactional-tableindexed">HBase-trx</a></dt>
   
<dd>HBase-trx provides Transactional (JTA) and indexed extensions of HBase.</dd>
   
<dt><a class="externalLink" href="http://github.com/simplegeo/python-hbase-thrift">HBase Thrift Python client Debian package</a></dt>
   
<dd>Debian packages for the HBase Thrift Python client (see readme for
    sources.list setup)</dd>
   
<dt><a class="externalLink" href="http://github.com/amitrathore/capjure">capjure</a></dt>
   
<dd>capjure is a persistence helper for HBase. It is written in the Clojure
    language, and supports persisting of native hash-maps.</dd>
   
<dt><a class="externalLink" href="http://github.com/sematext/HBaseHUT">HBaseHUT</a></dt>
   
<dd>(High Update Throughput for HBase) It focuses on write performance during
    records update (by avoiding doing Get on every Put to update record).</dd>
   
<dt><a class="externalLink" href="http://github.com/sematext/HBaseWD">HBaseWD</a></dt>
   
<dd>HBase Writes Distributor spreads records over the cluster even when their
    keys are sequential, while still allowing fast range scans over them</dd>
   
<dt><a class="externalLink" href="http://code.google.com/p/hbase-jdo/">HBase UI Tool &amp; Util</a></dt>
   
<dd>HBase UI Tool &amp; Util is an HBase UI client and simple util module.
    It can handle hbase more easily like jdo(not persistence api)</dd>
  </dl>
  </div>
<div class="section">
<h3><a name="Example_HBase_Applications"></a>Example HBase Applications</h3>
  
<ul>
    
<li><a class="externalLink" href="http://github.com/andreisavu/feedaggregator">HBase powered feed aggregator</a>
    by Savu Andrei -- 200909</li>
  </ul>
</div></div>


        </div>
    </div>
    <hr/>
    <footer>
      <div class="container">
        <div class="row">
            <p>Copyright &copy;2007&#x2013;2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-08-20</li>
</p>
        </div>
        <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
</p>
      </div>
    </footer>
  </body>
</html>
