I'm looking into creating a CRUD app that handles around ~100k of rows which can go bigger and has some API Calls that runs on that data. I will be doing many SELECT/UPDATE/DELETE/INSERT over this data which contain webpages text that are long.
Also there would be there another table for logs which gonna be big (has long text of around 300-400 character).
When to consider using MySQL over MongoDB or Elasticsearch and vice versa, I searched on google and saw benchmarks showing that MySQL is faster than MongoDB in select/update/insert/delete queries (1k/10k/100k rows) which is kinda confusing as MongoDB is being stated that its better when data grows bigger, I haven't used MongoDB or Elasticsearch before just MySQL.
I would appreciate your help so much.
Top comments (3)
All 3 databases you mentioned have completely different purposes. None of them are interchangeable with each other.
As for the performance benchmark you linked to, you might not have noticed that the queried it's running are all fairly trivial. A simple insert into a single table, and a fetch from a single table. If you were to add any kind of join to those queries, MySQL would start to be significantly faster than Mongo.
In addition, it sounds like you're falling into the trap of premature optimization. While performance is important, you likely won't notice these kind of subtle differences in performance, and it's not worth chasing the latest tools because of some supposed performance benefits. Just stick with what you're comfortable with, what you like using. And know that there is never a single best tool for the job, there's just good tools that will all work for your project, and performance really shouldn't be a motivating factor for most applications. Unless you're doing something like writing a database, or doing video game development where every frame and millisecond matters, there are much more important things to consider than just performance.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.