HDFS
HDFS is a simple distributed file system that is
well suitable for storing larger files. It is a general purpose file system and
so is not for the individual record lookups to be done in the files.
HBase provides fast record lookups as it is built on
top of the HDFS, especially for the larger tables. For high–speed lookups, the
data is put internally with ‘StoreFiles’, in indexed form, which would exist in
HDFS. The files would be sequentially accessed in HDFS .
HBase
Architecture
HBase is written over the file system of HDFS. It
can be accessed through native Avro, Thrift, Java API, REST etc. Zoo Keeper
here works as the coordination server to get the entire system to be
synchronized and the bootstrap.
There
are three pieces in HBase
1. Master
– Master is only one here.It manages the cluster.
2. RegionServer
– RegionServers can be multiplied. Its function is to manage the data. It again
has three components.
a.
HFile
b.
Memstore
c.
Write-Ahead
Log
3. API
– API is meant to automatically pick the current value present in the cell, by
default.
In HBase, the basic things to be known are:
1. Column
– It is the most basic unit, containing a Key Value. Number of columns is fixed,
unless flexible schema is present. Here each row can have different columns. These
columns can have multiple versions, in which the distinct values are contained
in the cells. The columns often are referred as family qualifier. And the
qualifier is considered as any of the arbitrary array of bytes.
2. Row
- When it comes to a row, it would be a collection of column families. These
column families are like Personal Info, Banking Info and Career Info etc. Vacant
columns can be simply ignored. The rows are sorted lexicographically using
their row key. Lexicographical sorting means, each of the specified keys would
be compared on a binary level bit by bit, byte by byte and from left to right. Here,
rows are sequentially sorted like Row1, Row2 etc.
3. Table
- Unlike traditional table model, a cell has a list or collection of name
values for the specified id. Multiple values for example of ‘Personal Info’ can
be contained in the one column family.
4. Filter
- HBase does not entertain concept of the query, instead it uses the filter to
filter the data and access. Two filters are used. These filters are server side
filter and the other one is the client side filter.
Conceptual
model:
According to the conceptual model, we can see how
the RDMBS model is converted to the HBase model and how the Rows and Columns
are treated together.
By seeing the conceptual model, we can understand
that HBase does make the data to be easily handled by shrinking or shorting
multiple Tables into one table, since the columns are treated as the column
families. Each column family can contain the columns of a Table. Complex
queries with Joint can be minimized and made easy.
For Apache Hbase online Training and Hadoop Hbase Tutorial, you can visit Intellipaat.uk.
For Apache Hbase online Training and Hadoop Hbase Tutorial, you can visit Intellipaat.uk.
To access the data, it needs the expression of
(Table, RowKey, Family, Column, Timestamp) à
Value