Hadoop: Apache Hadoop is a software programming framework where a large amount of data is stored and used to perform the computation. Its framework is based on Java programming which is similar to C and shell scripts. In other words, we can say that it is a platform that is used to manage data, store data, and process data for various big data applications running under clustered systems. The main component of Hadoop is HDFS, Map Reduce, and YARN.
MongoDB: MongoDB is a cross-platform database program that is document-oriented. It is a NoSQL database program and uses JSON documents (Binary-JSON, to be more specific) with the schema. MongoDB Inc. developed MongoDB and has been licensed under the Server Side Public License also known as SSPL.
Below is a table of differences between Hadoop and MongoDB:
|Fortmat of Data||It can be used with boyh structured or unstructured data||Uses only CSV or JSON format|
|Design purpose||It is primarily designed as a database.||It is designed to analyze and process large volume of data.|
|Built||It is a Java based application||It is a C++ based application|
|Strength||Handling of batch processes and lengthy-running ETL jobs is excellently done in Hadoop. It comes very handy while for managing Big Data||It is more robust and flexible as compared to Hadoop|
|Cost of Hardware||As it is a group of various software, it can cost more||Being a single product makes it cost effective|
|Framework||It comprises of various software that is responsible for creating a data processing framework.||It can be used to query, aggregate, index or replicate data stored. The stored data is in the form of Binary JSON(BJSON) and storing of data is done in collections.|
|RDBMS||It is not designed to replace a RDBMS system but provides addition support to RDBMS to archive data and also gives it a wide variety of use cases.||It is designed for the purpose of replacing or enhancing the RDBMS and giving it a wide variety of use cases.|
|Drawbacks||Highly depends upon ‘NameNode’, that can be a point of failure||Low fault-tolerance that leads to loss of data occasionally|