HBase
  1. HBase
  2. HBASE-2294

Enumerate ACID properties of HBase in a well defined spec

    Details

    • Type: Task Task
    • Status: Resolved
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.90.0
    • Component/s: documentation
    • Labels:
      None
    • Hadoop Flags:
      Incompatible change, Reviewed

      Description

      It's not written down anywhere what the guarantees are for each operation in HBase with regard to the various ACID properties. I think the developers know the answers to these questions, but we need a clear spec for people building systems on top of HBase. Here are a few sample questions we should endeavor to answer:

      • For a multicell put within a CF, is the update made durable atomically?
      • For a put across CFs, is the update made durable atomically?
      • Can a read see a row that hasn't been sync()ed to the HLog?
      • What isolation do scanners have? Somewhere between snapshot isolation and no isolation?
      • After a client receives a "success" for a write operation, is that operation guaranteed to be visible to all other clients?
        etc

      I see this JIRA as having several points of discussion:

      • Evaluation of what the current state of affairs is
      • Evaluate whether we currently provide any guarantees that aren't useful to users of the system (perhaps we can drop in exchange for performance)
      • Evaluate whether we are missing any guarantees that would be useful to users of the system
      1. hbase-2294.patch
        11 kB
        Todd Lipcon
      2. formatting_mods-v2.patch
        5 kB
        stack
      3. formatting_mods.patch
        5 kB
        stack

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Todd Lipcon
              Reporter:
              Todd Lipcon
            • Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development