HBase is not a a cloumn-oriented database in a typical RDBMS sense,but utilizes an on-disk column storage format
HBase excels at providing a key-based access to a specific cell of data,or sequential range of cells while the column-oriented databases excel at providing real time analytical access to data
Storage Models
Column-Oriented
- Data in columnar model is kept in column
- Data in columns are almost homogeneous thus fits for compression
- Aggregation functions are very fast since entire column can be fetched very quickly
- Inserts,updates are significantly slower and because of this reason the column-oriented databases suits best for OLAP scenario
Key-Value
- Data is stored in a set of distributed maps
- No bias towards aggregate or row-based processing performance and therefore no bias towards either OLAP or OLTP applicability.
A HBase table can be represented using A Data Structure as
'rowkey1' => {
'c:col1' => 'value1',
'c:col2' => 'value2',
},
'rowkey2' => {
'c:col1' => 'value10',
'c:col3' => 'value3'
}