Enumerate ACID properties of HBase in a well defined spec
---------------------------------------------------------

                 Key: HBASE-2294
                 URL: https://issues.apache.org/jira/browse/HBASE-2294
             Project: Hadoop HBase
          Issue Type: Task
          Components: documentation
            Reporter: Todd Lipcon


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

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to