What are the differences between HBase and Cassandra?

Let us understand the concepts of HBase and Cassandra before learning the differences between them.


Cassandra has a different infrastructure. Cassandra uses different DBMS along with their infrastructure. When Cassandra uses different DBMS then time complexity will increase.

Cassandra supports ordered partitioning. This can lead to row size up to 10 megabytes.

In Cassandra, we use seed nodes. These nodes perform inter-cluster communication. Here, we use internal communication. Casandra has lightweight transactions.

Cassandra is based on the Jbury shell. But it has a specific Query language. That is CQL, it is modelled after SQL. It is better than HBase in Documentation. It uses the bloom filters for key lookup


HBase utilizes Hadoop infrastructure. These have several parts like Zookeeper, data nodes.

HBase doesn't support ordered partitioning. It offers coprocessor capability, and it support triggers. It uses master nodes. These nodes monitor and coordinate the actions of region servers.

HBase we used internode communication. HBase has two transactions, those are ' Check and Put ' and ' Read-Check-Delete '. It is based on the JRuby shell and is not better than Cassandra in documentation.

HBase uses bloom filters as a form of indexing.


The major differences between HBase and Cassandra are as follows −

HBase utilize Hadoop infrastructureCassandra uses different DBMS along with their infrastructure
It is based on BigtableIt is based on DynamoDB
HBase is written in JAVACassandra is written in JAVA
HBase has no secondary indexes.Cassandra has restricted secondary indexes.
HBase has distributed databaseCassandra has decentralized database
HBase has triggersCassandra does not have triggers
It provides more consistencyIt provide less consistency
HBase handles up to 1000 nodesCassandra handles up to 400 nodes
It is less complex than CassandraIt is more complex.