A linearly scalable multi-row, multi-table transaction library for HBase with serializable isolation.
Haeinsa is a transaction library for HBase that provides ACID-compliant multi-row and multi-table transactions. It solves the problem of implementing complex transactional logic in HBase, which natively lacks strong transaction support, by offering serializable isolation and linear scalability.
Developers and engineers working with HBase who need to implement reliable, scalable transactional operations across multiple rows and tables in distributed big data applications.
Developers choose Haeinsa because it adds robust transaction capabilities to HBase with minimal overhead, proven fault tolerance, and easy integration into existing clusters without major changes.
Haeinsa is linearly scalable multi-row, multi-table transaction library for HBase
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides full ACID semantics for multi-row and multi-table operations, enabling complex transactional logic in HBase, as highlighted in the README's Features section.
Transaction throughput scales linearly with HBase cluster expansion, maintaining performance as the cluster grows, per the README's claim of 'linearly scalable' throughput.
Ensures the highest isolation level for transaction consistency, preventing concurrency anomalies, which is explicitly stated in the README's Philosophy and Features.
Resilient to both client and HBase failures, making it suitable for production use, as noted in the README's Features under 'Fault-tolerant'.
Adds transaction capabilities to existing HBase clusters with minimal changes, only requiring a lock column family, according to the 'Easy migration' feature in the README.
Exclusively designed for HBase, so it's not portable to other databases, locking users into the HBase ecosystem and limiting flexibility.
Requires adding a lock column family to the HBase cluster, which involves schema modifications and can complicate deployment and maintenance.
Some key resources, such as blog posts and presentations linked in the README, are in Korean, potentially hindering non-Korean speakers from accessing full documentation.
Despite claims of low overhead, the two-phase locking and optimistic concurrency control mechanisms can introduce latency, especially in high-contention scenarios, affecting real-time performance.