Apache Tephra provides globally consistent transactions on top of distributed data stores such as Apache HBase. While HBase provides strong consistency with row- or region-level ACID operations, it sacrifices cross-region and cross-table consistency in favor of scalability. This trade-off requires application developers to handle the complexity of ensuring consistency when their modifications span region boundaries. By providing support for global transactions that span regions, tables, or multiple RPCs, Tephra simplifies application development on top of HBase, without a significant impact on performance or scalability for many workloads.
Tephra is used by the Apache Phoenix as well to add cross-row and cross-table transaction support with full ACID semantics.
You can build Tephra directly from the latest source code:
git clone https://git-wip-us.apache.org/repos/asf/incubator-tephra.git cd incubator-tephra mvn clean package