Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "JIRA HBASE-11447 A Common Transactional API for HBase John de Roo Hewlett Packard, July 2014."— Presentation transcript:

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

2 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 2 Acknowledgements Horton Works Continuuity SalesForce.com Xiaomi and others

3 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 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 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 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 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 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 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 6 Classes TransactionService Represents the Transaction Manager service Transaction Represents a transaction TransactionTable Interface Represents a transactional HTable

7 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 7 API – TransactionService class Only need one of these Accepts Configuration as a parameter Global get/set operations for the transaction service

8 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 8 API – Transaction class Creating a transaction object begins a transaction Transaction representation Methods for commit and rollback

9 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 9 API – TransactionTable interface Subclasses HTableInterface One new method - setTransaction sets the transaction Method signature for all other methods unchanged – eg put

10 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 10 Sample

11 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 11 For more information Look up JIRA HBASE 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 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Thank you


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

Similar presentations


Ads by Google