Hive is a datawarehousing package built on the top of Hadoop. It is mainly used for data analysis. It generally target towards users already comfortable with Structured Query Language (SQL). It is very similar to SQL and called Hive Query Language (HQL). Hive manages and queries structured data. Moreover, hive abstracts complexity of Hadoop. Hive was developed by Facebook in 2007 to handle massive amount of data. It does not support:
- Not a full database.
- Not a real time processing system.
- Not SQL-92 compliant.
- Does not provide row level insert, updates or deletes.
- Doesn’t support transactions and limited sub-query support.
- Query optimization in evolving stage.
HBase is a column-oriented database management system that runs on top of Hadoop Distributed File System (HDFS). It is well suited for sparse data sets, which are common in many big data use cases. It is an opensource, distributed database developed by Apache software foundations. Initially, it was named Google Big Table, afterwards it was re-named as HBase and is primarily written in Java. It can store massive amount of data from terabytes to petabytes. It is built for low-latency operations and is used extensively for read and write operations. It stores large amount of data in the form of tables.
Difference between Hive and HBase:
|Hive is a query engine||Data storage particularly for unstructured data|
|Mainly used for batch processing||Extensively used for transactional processing|
|Not a real time processing||Real-time processing|
|Only for analytical queries||Real-time querying|
|Runs on the top of Hadoop||Runs on the top of HDFS (Hadoop distributed file system)|
|Apache Hive is not a database||It support NoSQL database|
|It has schema model||It is free from schema model|
|Made for high latency operations||Made for low level latency operations|
- Difference between Static and Dynamic SQL
- Difference between Simple and Complex View in SQL
- Difference between Inverted Index and Forward Index
- SQL | Difference between functions and stored procedures in PL/SQL
- Difference between Where and Group By
- Apache HBase
- Difference between SQL and NoSQL
- Difference between Structured, Semi-structured and Unstructured data
- Difference between RDBMS and HBase
- Difference between RDBMS and DBMS
- Difference between MySQL and MS SQL Server
- Difference between RDBMS and OODBMS
- What is Unstructured Data?
- What is Semi-structured data?
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.