Hadoop vs MongoDB vs MySQL

Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Hadoop
Hadoop

1.4K
1.2K
+ 1
49
MongoDB
MongoDB

21.4K
17.9K
+ 1
3.9K
MySQL
MySQL

29.3K
23.8K
+ 1
3.7K

What is Hadoop?

The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage.

What is MongoDB?

MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.

What is MySQL?

The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Hadoop?
Why do developers choose MongoDB?
Why do developers choose MySQL?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
    What companies use Hadoop?
    What companies use MongoDB?
    What companies use MySQL?

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Hadoop?
    What tools integrate with MongoDB?
    What tools integrate with MySQL?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to Hadoop, MongoDB, and MySQL?
    Cassandra
    Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
    Elasticsearch
    Elasticsearch is a distributed, RESTful search and analytics engine capable of storing data and searching it in near real time. Elasticsearch, Kibana, Beats and Logstash are the Elastic Stack (sometimes called the ELK Stack).
    Splunk
    Splunk Inc. provides the leading platform for Operational Intelligence. Customers use Splunk to search, monitor, analyze and visualize machine data.
    Snowflake
    Snowflake eliminates the administration and management demands of traditional data warehouses and big data platforms. Snowflake is a true data warehouse as a service running on Amazon Web Services (AWS)—no infrastructure to manage and no knobs to turn.
    HBase
    Apache HBase is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable: A Distributed Storage System for Structured Data by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, HBase provides Bigtable-like capabilities on top of Apache Hadoop.
    See all alternatives
    Decisions about Hadoop, MongoDB, and MySQL
    Gregory Koberger
    Gregory Koberger
    MongoDB
    MongoDB
    MySQL
    MySQL
    PostgreSQL
    PostgreSQL
    MongoDB Atlas
    MongoDB Atlas
    MongoLab
    MongoLab
    Compose
    Compose

    We went with MongoDB , almost by mistake. I had never used it before, but I knew I wanted the *EAN part of the MEAN stack, so why not go all in. I come from a background of SQL (first MySQL , then PostgreSQL ), so I definitely abused Mongo at first... by trying to turn it into something more relational than it should be. But hey, data is supposed to be relational, so there wasn't really any way to get around that.

    There's a lot I love about MongoDB, and a lot I hate. I still don't know if we made the right decision. We've been able to build much quicker, but we also have had some growing pains. We host our databases on MongoDB Atlas , and I can't say enough good things about it. We had tried MongoLab and Compose before it, and with MongoDB Atlas I finally feel like things are in a good place. I don't know if I'd use it for a one-off small project, but for a large product Atlas has given us a ton more control, stability and trust.

    See more
    MongoDB
    MongoDB

    I starting using MongoDB because it was much easier to implement in production then hosted SQL, and found that a lot of the limitation you think of from a document store vs a relational database were overcome by connecting the application to a graphql API, making retrieval seamless. Mongos latest upgrades as well as Stitch and Mongo mobile make it a perfect fit especially if your application will be cross platform web and mobile.

    See more
    Antonio Sanchez
    Antonio Sanchez
    CEO at Kokoen GmbH · | 13 upvotes · 217.2K views
    atKokoen GmbHKokoen GmbH
    PHP
    PHP
    Laravel
    Laravel
    MySQL
    MySQL
    Go
    Go
    MongoDB
    MongoDB
    JavaScript
    JavaScript
    Node.js
    Node.js
    ExpressJS
    ExpressJS

    Back at the start of 2017, we decided to create a web-based tool for the SEO OnPage analysis of our clients' websites. We had over 2.000 websites to analyze, so we had to perform thousands of requests to get every single page from those websites, process the information and save the big amounts of data somewhere.

    Very soon we realized that the initial chosen script language and database, PHP, Laravel and MySQL, was not going to be able to cope efficiently with such a task.

    By that time, we were doing some experiments for other projects with a language we had recently get to know, Go , so we decided to get a try and code the crawler using it. It was fantastic, we could process much more data with way less CPU power and in less time. By using the concurrency abilites that the language has to offers, we could also do more Http requests in less time.

    Unfortunately, I have no comparison numbers to show about the performance differences between Go and PHP since the difference was so clear from the beginning and that we didn't feel the need to do further comparison tests nor document it. We just switched fully to Go.

    There was still a problem: despite the big amount of Data we were generating, MySQL was performing very well, but as we were adding more and more features to the software and with those features more and more different type of data to save, it was a nightmare for the database architects to structure everything correctly on the database, so it was clear what we had to do next: switch to a NoSQL database. So we switched to MongoDB, and it was also fantastic: we were expending almost zero time in thinking how to structure the Database and the performance also seemed to be better, but again, I have no comparison numbers to show due to the lack of time.

    We also decided to switch the website from PHP and Laravel to JavaScript and Node.js and ExpressJS since working with the JSON Data that we were saving now in the Database would be easier.

    As of now, we don't only use the tool intern but we also opened it for everyone to use for free: https://tool-seo.com

    See more
    Khauth György
    Khauth György
    CTO at SalesAutopilot Kft. · | 12 upvotes · 193.9K views
    atSalesAutopilot Kft.SalesAutopilot Kft.
    Amazon CloudWatch
    Amazon CloudWatch
    Amazon SNS
    Amazon SNS
    Amazon CloudFront
    Amazon CloudFront
    Amazon Route 53
    Amazon Route 53
    MySQL
    MySQL
    MongoDB
    MongoDB
    Redis
    Redis
    jQuery UI
    jQuery UI
    Vue.js
    Vue.js
    Vuetify
    Vuetify
    vuex
    vuex
    Docker
    Docker
    Jenkins
    Jenkins
    AWS CodePipeline
    AWS CodePipeline
    GitHub
    GitHub

    I'm the CTO of a marketing automation SaaS. Because of the continuously increasing load we moved to the AWSCloud. We are using more and more features of AWS: Amazon CloudWatch, Amazon SNS, Amazon CloudFront, Amazon Route 53 and so on.

    Our main Database is MySQL but for the hundreds of GB document data we use MongoDB more and more. We started to use Redis for cache and other time sensitive operations.

    On the front-end we use jQuery UI + Smarty but now we refactor our app to use Vue.js with Vuetify. Because our app is relatively complex we need to use vuex as well.

    On the development side we use GitHub as our main repo, Docker for local and server environment and Jenkins and AWS CodePipeline for Continuous Integration.

    See more
    Ajit Parthan
    Ajit Parthan
    CTO at Shaw Academy · | 1 upvotes · 5.5K views
    atShaw AcademyShaw Academy
    MySQL
    MySQL
    MongoDB
    MongoDB
    #NosqlDatabaseAsAService

    Initial storage was traditional MySQL. The pace of changes during a startup mode made it very difficult to have a clean and consistent schema. Large portions ended up as unstructured data stuffed into CLOBs and BLOBs.

    Moving to MongoDB definitely made this part much easier.

    Accessing data for analysis is a little bit of a challenge - especially for people coming from the world of SQL Workbench. But with tools like Exploratory this is becoming less of a problem.

    #NosqlDatabaseAsAService

    See more
    Tim Nolet
    Tim Nolet
    Founder, Engineer & Dishwasher at Checkly · | 8 upvotes · 74.6K views
    atChecklyHQChecklyHQ
    PostgreSQL
    PostgreSQL
    Heroku
    Heroku
    Node.js
    Node.js
    MongoDB
    MongoDB
    Amazon DynamoDB
    Amazon DynamoDB

    PostgreSQL Heroku Node.js MongoDB Amazon DynamoDB

    When I started building Checkly, one of the first things on the agenda was how to actually structure our SaaS database model: think accounts, users, subscriptions etc. Weirdly, there is not a lot of information on this on the "blogopshere" (cringe...). After research and some false starts with MongoDB and Amazon DynamoDB we ended up with PostgreSQL and a schema consisting of just four tables that form the backbone of all generic "Saasy" stuff almost any B2B SaaS bumps into.

    In a nutshell:cPostgreSQL Heroku Node.js MongoDB Amazon DynamoDB

    When I started building Checkly, one of the first things on the agenda was how to actually structure our SaaS database model: think accounts, users, subscriptions etc. Weirdly, there is not a lot of information on this on the "blogopshere" (cringe...). After research and some false starts with MongoDB and Amazon DynamoDB we ended up with PostgreSQL and a schema consisting of just four tables that form the backbone of all generic "Saasy" stuff almost any B2B SaaS bumps into.

    In a nutshell:

    • We use Postgres on Heroku.
    • We use a "one database, on schema" approach for partitioning customer data.
    • We use an accounts, memberships and users table to create a many-to-many relation between users and accounts.
    • We completely decouple prices, payments and the exact ingredients for a customer's plan.

    All the details including a database schema diagram are in the linked blog post.

    See more
    Łukasz Korecki
    Łukasz Korecki
    CTO & Co-founder at EnjoyHQ · | 12 upvotes · 112.2K views
    atEnjoyHQEnjoyHQ
    RethinkDB
    RethinkDB
    MongoDB
    MongoDB
    PostgreSQL
    PostgreSQL

    We initially chose RethinkDB because of the schema-less document store features, and better durability resilience/story than MongoDB In the end, it didn't work out quite as we expected: there's plenty of scalability issues, it's near impossible to run analytical workloads and small community makes working with Rethink a challenge. We're in process of migrating all our workloads to PostgreSQL and hopefully, we will be able to decommission our RethinkDB deployment soon.

    See more
    Mauro Bennici
    Mauro Bennici
    CTO at You Are My GUide · | 7 upvotes · 26.9K views
    atYou Are My GUideYou Are My GUide
    PostgreSQL
    PostgreSQL
    TimescaleDB
    TimescaleDB
    MongoDB
    MongoDB

    PostgreSQL plus TimescaleDB allow us to concentrate the business effort on how to analyze valuable data instead of manage them on IT side. We are now able to ingest thousand of social shares "managed" data without compromise the scalability of the system or the time query. TimescaleDB is transparent to PostgreSQL , so we continue to use the same SQL syntax without any changes. At the same time, because we need to manage few document objects we dismissed the MongoDB cluster.

    See more
    Tor Hagemann
    Tor Hagemann
    at Socotra · | 2 upvotes · 2.3K views
    atSocotraSocotra
    MySQL
    MySQL
    PostgreSQL
    PostgreSQL
    Amazon DynamoDB
    Amazon DynamoDB

    Much of our data model is relational, which makes MySQL or PostgreSQL (and family) fit the API's we need to build, in order to meet the needs of our customers.

    Sometimes the flexibility of a NoSQL store like Amazon DynamoDB is very useful, but the lack of consistency really impacts usability and performance long-term, compared with viable alternatives. At our current scale, we've seen huge benefits from moving some of our tables out of Dynamo and doing more in SQL.

    There will always be use cases for NoSQL and key-values stores, but if your model is well understood in your business/industry: relational databases are the way to go after finding product-market fit. Always understand the trade-offs (and a few intimate details) of any data store before you add to your company's stack!

    See more
    Joseph Irving
    Joseph Irving
    DevOps Engineer at uSwitch · | 8 upvotes · 10.4K views
    atUswitchUswitch
    Vault
    Vault
    Kubernetes
    Kubernetes
    MySQL
    MySQL
    PostgreSQL
    PostgreSQL
    Go
    Go

    At uSwitch we use Vault to generate short lived database credentials for our applications running in Kubernetes. We wanted to move from an environment where we had 100 dbs with a variety of static passwords being shared around to a place where each pod would have credentials that only last for its lifetime.

    We chose vault because:

    • It had built in Kubernetes support so we could use service accounts to permission which pods could access which database.

    • A terraform provider so that we could configure both our RDS instances and their vault configuration in one place.

    • A variety of database providers including MySQL/PostgreSQL (our most common dbs).

    • A good api/Go -sdk so that we could build tooling around it to simplify development worfklow.

    • It had other features we would utilise such as PKI

    See more
    Robert Zuber
    Robert Zuber
    CTO at CircleCI · | 22 upvotes · 552.8K views
    atCircleCICircleCI
    MongoDB
    MongoDB
    PostgreSQL
    PostgreSQL
    Redis
    Redis
    GitHub
    GitHub
    Amazon S3
    Amazon S3

    We use MongoDB as our primary #datastore. Mongo's approach to replica sets enables some fantastic patterns for operations like maintenance, backups, and #ETL.

    As we pull #microservices from our #monolith, we are taking the opportunity to build them with their own datastores using PostgreSQL. We also use Redis to cache data we’d never store permanently, and to rate-limit our requests to partners’ APIs (like GitHub).

    When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We handle any side-effects of S3’s eventual consistency model within our own code. This ensures that we deal with user requests correctly while writes are in process.

    See more
    Martin Johannesson
    Martin Johannesson
    Senior Software Developer at IT Minds · | 11 upvotes · 31.7K views
    atIT MindsIT Minds
    TypeScript
    TypeScript
    Node.js
    Node.js
    TypeORM
    TypeORM
    PostgreSQL
    PostgreSQL
    Apollo
    Apollo
    GraphQL
    GraphQL
    Next.js
    Next.js
    MongoDB
    MongoDB
    React
    React
    PWA
    PWA
    AMP
    AMP
    #B2B
    #Backend
    #Serverless

    At IT Minds we create customized internal or #B2B web and mobile apps. I have a go to stack that I pitch to our customers consisting of 3 core areas. 1) A data core #backend . 2) A micro #serverless #backend. 3) A user client #frontend.

    For the Data Core I create a backend using TypeScript Node.js and with TypeORM connecting to a PostgreSQL Exposing an action based api with Apollo GraphQL

    For the micro serverless backend, which purpose is verification for authentication, autorization, logins and the likes. It is created with Next.js api pages. Using MongoDB to store essential information, caching etc.

    Finally the frontend is built with React using Next.js , TypeScript and @Apollo. We create the frontend as a PWA and have a AMP landing page by default.

    See more
    C#
    C#
    .NET Core
    .NET Core
    MySQL
    MySQL
    MongoDB
    MongoDB

    Hi! I needed to choose a full stack of tools for a web drop shipping site without the payment process for a family startup proyect. It will feed from several web services (JSON), I'm looking forward a 4,200 articles tops. For web use only and for a few clients at the beginning.

    I'm considering C# with .NET Core 3.0 as is the one language I'm starting to learn. For the Database I haven´t made my mind yet, but could be MySQL or MongoDB any advice is welcome as I'm getting back to programming after year away from this awesome world. Thanks

    See more
    Nicolas Apx
    Nicolas Apx
    CEO - FullStack Javascript at Apx Development Limited · | 14 upvotes · 33.3K views
    atAPX DevelopmentAPX Development
    Python
    Python
    Node.js
    Node.js
    MongoDB
    MongoDB
    PostgreSQL
    PostgreSQL

    I am planning on building a micro-service eCommerce back-end to be easy to reuse in any project as we need. I would like to use both Python and Node.js and MongoDB & PostgreSQL , in your opinion which one would best suited for the following services:

    • Users-service
    • Products-service
    • Auth-service
    • Inventory-service
    • Order-service
    • Payment-service
    • Sku-service
    • And more not yet defined....

    Thanks

    Nicolas

    See more
    Bryam Rodriguez
    Bryam Rodriguez
    JavaScript
    JavaScript
    Bit
    Bit
    Python
    Python
    Next.js
    Next.js
    React Native
    React Native
    Redis
    Redis
    MongoDB