HBase Features, Applications, Limitations
Let’s study about Features, Applications, and Limitations of Hbase
Features of Hbase
- Hbase provides java API (It includes all Java packages, classes, and interfaces, methods, fields and constructors) for client to perform parallel processing of huge data.
- It is Easily integrates with Hadoop, both from the source and destination.
- The Hbase is schema-less, i.e it does not have the concept of fixed columns schema, defines only column families.
- It supports Distributed storage like HDFS.
- Hbase designed for huge tables to store semi-structured as well as structured data.
- It also supports LAN and WAN failover (switching to a redundant or standby computer server or network upon the failure) and recovery (resorting normal working operations on a computer network).
- Hbase provides data replication across clusters for higher availability.
- It is linearly scalable in nature.
- It came with a feature of random access by using internal hash table to stores data in HDFS files for faster lookups.
Applications of Hbase
* The Hbase is mainly used to write heavy applications and provide fast random access to available data.
* The big companies like Facebook, Tuienti uses Hbase for messaging platform. Twitter, Yahoo, and Adobe use HBase internally.
* Hbase has wide range of application in the following areas like,
- Medical: In medical field Hbase used for storing genome sequences and running MapReduce on it, and stores the disease history of patients.
- Sports: In sports field Hbase used for storing match histories for better analytics and prediction.
- Web: It is also used to store user history and preferences for better customer targeting.
- Oil and petroleum industry: HBase is used in the oil and petroleum industry to store exploration data for analysis and predict probable places where oil can be found.
- E-commerce: It is used for recording and storing logs about customer search history, and to perform analytics and then target advertisement for better business.
Note: In other fields also we can use Hbase to store peta bytes of data and run analysis on it, for this, traditional systems like RDBMS was taking months together.
Limitations and problems of Hbase
Hbase has some of the limitations like,
- It has a single point of failure, i.e If HMaster goes down complete cluster fails to work.
- Hbase does not support for transaction.
- It has no built-in authentication or permissions. For example hbase allowed everyone to read from and write to all tables available in the system. For many enterprise setups, this kind of policy is unacceptable.
- In hbase table joining and normalization is very difficult.
- Indexing in hbase has to done manually, for which we have to write several LOC (lines of code) or script, i.e Hbase has no default indexing like PRIMARY KEY INDEX in traditional data base tables.
- Very difficult to store large binary data in hbase.
- Hbase is very expensive in case of hardware requirements and memory blocks allocations. For example:
- Costing and maintenance is too high and performance wise.
- It require high memory end configuration machine.
- Hbase support only one default sort per table.