What is the difference between RDBMS and HBase?

Here are the differences:

Point of Distinction



Type of Database

HBase is a distributed database

RDBMS generally are single node databases

Row or Column Oriented

HBase has Column-oriented table schema.

RDBMS offers Row-oriented table schema.

Data Type

Good for both semi-structured data and structured data.

Good for only structured data.

Schema Type

HBase offers Flexible schema meaning we can add columns on the Fly without any overhead.

RDBMS systems have Fixed schema, although you can modify schema but the operation(alter) is very expensive.

Sparse Table

Its columnar schema makes it Good with sparse tables, Which results in a memory efficient database.

With the fixed schema, the space of each element in the row is fixed which results in  the allocation of space for null values in the row  too, hence Not optimized for sparse tables.

Use Cases OLAP - Online Transaction Processing Data Discovery, Data Analytics and OLAP System.
Native Query Language

Apart from basic DML and lookup commands, HBase doesn't provide a native query  language.

RDBMS provides a powerful query language known as SQL.


The columnar table schema results in Wide tables.

RDBMS tables are Narrow because of the row based schema.

Optimized for Joins

Since HBase doesn’t have a query engine analytics operations such as Joins are generally performed using MR, which are not optimized. [compare to RDBMS joins]

Native SQL provides optimized for operations i.e. Joins(small, fast ones) etc

Integration with MR

HBase has tight integration with MR for data processing applications

No integration with MR.


HBase can easily be scaled Horizontally By adding more nodes.

Hard to share and scale.

Cost MySQL is Free, Oracle and MS Server is paid. it's open source
Data Size comparative smaller in GegaBytes/TeraBytes large can be up to HB - Hexabytes, PB - Petabyte
Consistency and Partition

Provides Consistency and Partition tolerance.

Being a single node system offers Consistency, Availability. [can say partition tolerance too].