1 / 12

JIRA HBASE-11447 A Common Transactional API for HBase

JIRA HBASE-11447 A Common Transactional API for HBase. John de Roo Hewlett Packard, July 2014. Acknowledgements. Horton Works Continuuity SalesForce.com Xiaomi and others. What are our aims?. Simple API with all the required transactional support

rocio
Download Presentation

JIRA HBASE-11447 A Common Transactional API for HBase

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JIRA HBASE-11447 A Common Transactional API for HBase John de Roo Hewlett Packard, July 2014

  2. Acknowledgements • Horton Works • Continuuity • SalesForce.com • Xiaomi • and others

  3. What are our aims? • Simple API with all the required transactional support • Single, consistent transaction interface for HBase developers • Easy, parameterized switching between Transaction Managers • Code once and select the best Transaction Manager for the purpose

  4. What do we hope to achieve? • Accelerate transaction adoption within the HBase community • Provide HBase developers with a choice of Transaction Managers • But why now? • There are a number of HBase TM implementations both Open source and proprietary • All have different interfaces • Emerging usage models like OLTP expect transaction capabilities

  5. API Summary • Transaction Manager independent • Simple interface - similar to existing transactional APIs on HBase • Full transactional functionality • Transaction Managers can be switched in hbase-site.xml • Extensible – TMs can add additional function • Not part of proposal • Two-phased commit/heterogeneous transaction support • DDL support – does not cover table create, delete • Allows only one Transaction Manager at a time • No protection from mixing transactional and non-transactional work

  6. Classes • TransactionService • Represents the Transaction Manager service • Transaction • Represents a transaction • TransactionTable Interface • Represents a transactional HTable

  7. Only need one of these Accepts Configuration as a parameter Global get/set operations for the transaction service API – TransactionService class

  8. API – Transaction class • Creating a transaction object begins a transaction • Transaction representation • Methods for commit and rollback

  9. API – TransactionTable interface • Subclasses HTableInterface • One new method - setTransaction sets the transaction • Method signature for all other methods unchanged – eg put

  10. Sample

  11. For more information • Look up JIRA HBASE-11447 • The latest version of the proposal is 0.5 • Contains the entire discussion history • More to come: • Sample application code • Compatibility shim • And please please give us your feedback on the JIRA.

  12. Thank you

More Related