This chapter will discuss the client APIs provided by HBase. As noted earlier, HBase is written in Java and so is its native API. This does not mean, though, that you must use Java to access HBase. In fact, Chapter 6 will show how you can use other programming languages.
The primary client interface to HBase is the
HTable class in the
package. It provides the user with all the functionality needed
to store and retrieve data from HBase as well as delete obsolete values
and so on. Before looking at the various methods this class provides, let
us address some general aspects of its usage.
All operations that mutate data are guaranteed to be atomic on a per-row basis. This affects all other concurrent readers and writers of that same row. In other words, it does not matter if another client or thread is reading from or writing to the same row: they either read a consistent last mutation, or may have to wait before being able to apply their change. More on this in Chapter 8.
Suffice it to say for now that during normal operations and load, a reading client will not be affected by another updating a particular row since their contention is nearly negligible. There is, however, an issue with many clients trying to update the same row at the same time. Try to batch updates together to reduce the number of separate operations on the same row as much as possible.
It also does not matter how many columns are written ...