Here is why you should throw the towel in the ring if you have been against NoSQL.
Reasons why to use NoSQL (Mongo) in 2019:
- ACID is now supported in mongo - https://www.mongodb.com/blog/post/multi-document-transactions-in-mongodb
- The aggregation tool in mongo is insane- https://docs.mongodb.com/manual/aggregation/
- No migrations on data model changes
- Having data in the database as used in the "Frontend, that be Web app, Mobile app or Desktop app"
- Streaming data from the DB - https://docs.mongodb.com/manual/changeStreams/
- Support of text search - https://docs.mongodb.com/manual/text-search/
To be honest, you might be right every new "generation" of developers are taking what existed back in the day and are taking back in, but I do believe for every iteration it gets better. And through my 15 years of development, I must say that in the beginning, the oppositions against mongo was speed, then it became as fast or faster in some operations. Then it was that it hasn't been tested in a production environment, then it was tested with Terabytes of data and showed the same performance as the SQL databases or faster, in 2018 it was ACID and now they support all of it and people are still crying I think this is due to the "old" generation don't want to learn anything new, just like people are crying over having to move to React or Angular.
Mongo is very scalable, very easy to interact with, have a very low learning curve this is why you should start using mongo today, the only case you shouldn't use mongo is when you need a KeyValue store like Redis then just use Redis or other databases.
So when a database supports all of those things, you can't come to a point where you need to swap database because it lacks the support you need, just build you app, this why your business is very agile as well which makes it a solid solution even for small businesses.
Also the documentation on MongoDB is very good which helps you in case you need to do a tricky thing like populate a document (join tables in SQL)
Give me a good reason for using SQL in 2019 besides (the business decision is because your developers are old school and are too lazy to learn NoSQL and you just wanna get started then use SQL figure out down the road that you need more functionality and swap to NoSQL then)
This is my very very very subjective opinion on SQL or NoSQL.
Last but not least don't marry any tech, because it won't last.
Subscribe to NomisCPH
Get the latest posts delivered right to your inbox