Jira hbase 11447 a common transactional api for hbase
Download
1 / 12

JIRA HBASE-11447 A Common Transactional API for HBase - PowerPoint PPT Presentation


  • 136 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' JIRA HBASE-11447 A Common Transactional API for HBase' - rocio


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
Acknowledgements

  • Horton Works

  • Continuuity

  • SalesForce.com

  • Xiaomi

  • and others


What are our aims
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


What do we hope to achieve
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


  • Api summary
    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


  • Classes
    Classes

    • TransactionService

      • Represents the Transaction Manager service

    • Transaction

      • Represents a transaction

    • TransactionTable Interface

      • Represents a transactional HTable


    Api transactionservice class

    Only need one of these

    Accepts Configuration as a parameter

    Global get/set operations for the transaction service

    API – TransactionService class


    Api transaction class
    API – Transaction class

    • Creating a transaction object begins a transaction

    • Transaction representation

    • Methods for commit and rollback


    Api transactiontable interface
    API – TransactionTable interface

    • Subclasses HTableInterface

    • One new method - setTransaction sets the transaction

    • Method signature for all other methods unchanged – eg put



    For more information
    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.



    ad