Comparison Between MongoDB and Hbase
Posted By : Akash Sharma | 13-Sep-2013
Previously I was working on two Nosql technologies: Mongodb and Hbase.So I decided to jot down some important features of both in my blog.
It is a document oriented database.All data in mongodb is treated in JSON/BSON format.It is a schema less database which goes over tera bytes of data in database.It also supports master slave replication methods for making multiple copies of data over servers making the integration of data in certain types of applications easier and faster.
10gen began Development of MongoDB in October 2007. The database is used by MTV Networks, CraigsList, FourSquare and UIDAI Aadhaar. MongoDB is the most popular NoSQL database management system.
HBase is a open source database created by Apache for saving billions of rows with millions of columns.It is basicaly cloumn based database in which data is stored in key value pairs.
It is a classic Big data.It is more used for aggregating data like in MOLAP purpose. The column database structure based on key value is very performant for reporting and dashboarding usages. HBase is strong when you need to query masses of data - fast. That makes it more suitable as a kind of DWH solution.
Here is an comparison in two technologies.
Even after this I can differentiate two technologies on some of the basic features as follows:
CRUD operation: In Mongodb data is stored in JSON format.We have to insert/update/fetch the document as a whole but in Hbase we can work on partial data.
Memory Usage: MongoDB relies on the OS to buffer its data and maps the whole data to memory with mmap. If the data are in memory, the read and write will be very fast, otherwise, a page fault is issued so the the OS will load the data into memory, which is expensive. As a result, MongoDB is memory thirty and we can see very different read/write behaviors for the two cases.Hbase use the log-structured merge tree, which probably is more efficient for heavy load and big data.
Secondary Index : MongoDB supports secondary index and the index should be keep in memory. Hbase requires a third party module to support secondary index.
Searching : Mongodb has good feature of searching a document data using find/findOne by its inner attribute.The attribute can be indexed to search faster.Hbase do not have this feature.
Hope it helps.