An ACID transaction layer for HBase providing cross-row and cross-table transactions based on Google's Percolator algorithm.
Themis is an open-source transaction layer for Apache HBase that provides ACID-compliant cross-row and cross-table transactions. It solves the problem of maintaining data consistency in distributed HBase operations by implementing Google's Percolator algorithm with two-phase commit and conflict resolution.
Developers and data engineers building distributed applications on HBase that require strong consistency guarantees for multi-row or multi-table operations, such as financial systems or inventory management.
Themis offers a production-tested, non-invasive solution that adds full ACID transactions to HBase without modifying its source code, leveraging HBase's coprocessor framework for seamless integration and snapshot isolation via global timestamps.
Themis provides cross-row/cross-table transaction on HBase based on google's percolator.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses HBase's coprocessor framework to add transactions without modifying core HBase source code, as highlighted in the architecture and usage sections.
Validated for months with simulation programs like AccountTransfer, ensuring ACID guarantees for distributed cross-row transactions, as mentioned in the test section.
Provides consistent reads via globally incremental timestamps from Chronos, enabling database snapshots without modifying HBase internals, per the implementation details.
Includes InputFormat and OutputFormat implementations for transactional MapReduce jobs, extending HBase's data processing capabilities seamlessly.
Targets HBase 0.94.21, an older version, which may not be compatible with current HBase releases and limits access to newer features and community support.
Requires building HBase from source, adding coprocessor configurations, and setting up external services like Chronos, making initial setup and maintenance cumbersome.
Write performance is significantly lower (e.g., 60% of HBase's put latency) due to two-phase commit and conflict resolution, as shown in the performance test results.