3 ms·
Mongo wins when two things are true 1) Your use cases are get doc, put doc, delete doc. No aggregations, OR you have a very healthy sharding key. 2) You need to
by squirrelicus 8y ago
Mongo wins when two things are true
1) Your use cases are get doc, put doc, delete doc. No aggregations, OR you have a very healthy sharding key.
2) You need to go to the 1 terabyte - 100 terabyte scale for a very small cost in humans and machines.
For those of us who have dealt with (or dealt with the human/machine cost of) a TB+ Postgres or MySQL database, Mongo can be a blessing if you data can be organized in a proper NoSQL fashion.
It's true, you can scale RDBMSs into the terabytes range with modest cost with excellent performance. BUT the singular guiding principle to achieve this is integers, integers, integers. In general, RDBMSs start shedding performance the more non-integer columns you have in your relevant tables.
If you have less than 100GB of data, it will never matter what database you choose -- it's all about table structure and queries. MySQL, Postgres, Mongo, etc. Unless you choose sqlite of course :P
- Jedd 8y ago> In general, RDBMSs start shedding performance the more non-integer columns you have in your relevant tables. The more non-integer indexes, I'd suggest. TimescaleDB under Postrgres goes a long way to improving scaling of certain (NoSQL-type content) large databases.
- squirrelicus 8y agoI think we're both right for sure, but even just having varchars in your critical join tables is a big perf killer given there'll be fewer rows read per page fault(unless you're just index scanning/joining of course)