What's the actual use case for this shit? As far as I can tell...

What's the actual use case for this shit? As far as I can tell, its biggest use case is "you need a database but don't want to learn basic relational database design", or maybe "you've deceived yourself into thinking your data is not relational". So why is it a $4.5 billion company?

Attached: MDB.png (420x420, 30K)

Other urls found in this thread:

youtube.com/watch?v=b2F-DItXtZs
twitter.com/SFWRedditGifs

Network connection metadata
Also smaller memory footprint and faster than relational DBs

SQL:
>Oh you want me to retrieve a list of all friends of this particular user? Okay, just let me check Among ALL FRIENDS OF ALL USERS EVER
MongoDB:
>Oh you want me to retrieve a list of all friends of this particular user? Hey, you actually have them right here as an array, how convenient!

Attached: autismpowerstance.png (810x440, 379K)

Redis is better for those usecases though

this:

since we're admitting blind spots... wtf is couchdb good at?

NoSQL was a meme at first, but it has its place. Most people aren't going to switch from relational to NoSQL, however. There really isn't much of a reason for 99% of uses.

However, the one big benefit of NoSQL systems, like Redis (better than Mongo BTW), is how it naturally is federated and can balance I/O across a network.

>what are indexes?

That's basically the killer app. At exascale, there are very few places where a full RDBMS makes sense.

MongoDB:
>Oh you want me to retrieve a list of this user's comments across all published articles?
>Well shit, I had comments embedded in my "article" documents with a reference to the user, because I didn't plan for this feature. I'll have to check among ALL COMMENTS OF ALL ARTICLES EVER. If only there were some kind of standard guideline for structuring my data from the beginning.
OR
>Okay, good thing I included references to comments in my user documents, in addition to references to users in the comments embedded in my article documents. I'll just remember to always change both when a user deletes a comment.
OR
>Okay, good thing I imitated the schema of a normalized relational database. Now I can do anything I might need with application level joins. I'm probably a better programmer than the people who wrote the RDBMS software anyway.

SQL:
>SELECT foo FROM comments WHERE user=bar;

Could your data be stored in a json or XML? If yes use mongo otherwise don't bother.

100% nosql db are dead and should be buried.
Postgresql support json request so there is no reason not to use the most advanced "traditional" dbms out there.
sql is here to stay for another 40 years.

Attached: powerstance2.png (764x960, 757K)

SQL IS SCAM FOR NEWFAGS
BEFORE SQL WAS xBASE AND ALL WORCK ON 286CPU SUPERFAST
ALSO THIS:

Its use case is for people who don't have to ask the internet for its use case.

>Now I can do anything I might need with application level joins. I'm probably a better programmer than the people who wrote the RDBMS software anyway.
People don't use raw SQL, the use ORMs. Most ORMs do joins in code and there is nothing special about them.

youtube.com/watch?v=b2F-DItXtZs

Had to do an assignment for this today. Have 2 documents in a collection, want to do a basic 'SELECT' statement in which the SQL equivalent would be one simple WHERE clause. Turns out collection.find() returns EVERYTHING in that document if it is true for ANY of the records within a document. This is after 2 hours of wondering why my query is returning fucking everything. Then someone said I had to use an aggregation. Wtf is find() used for then?

Fuck this meme

glorified JSON FTP

what is an ORM retard

>So why is it a $4.5 billion company?
because of a massive propaganda and the hipster tech bandwagon when ever something new pops up.

If im not mistaken PostgreSQL guys debunked them and showed how shit and low performant that tool was, massive meme that current SQL databases can handle by coding 10 lines more.

If your product uses a lot of Javascript parsing JSON entries is often easier and faster.

Nobody with more than 10 brain cells uses an ORM.

Keeping your data from going full retard, for example, is a good use case for a proper RDBMS.
I like Redis a lot, but you use it for what it's good for. If you don't care about your data, it's great.

>no isolation levels
>no transactions for multiple documents

So it's basically good for joke "apps"

Master-master synchronization, including with PouchDB running in the browser.

You don't need to use a document database and give up on aggregation features for that. Dgraph (graph) and CockroachDB (SQL) can do it.
Mongo has isolation levels and multi-document transactions now.

Redis has fully distributed master-slave-handover copy systems, what are you talking about? You can make it super redundant with little to no performance loss.

> Using ORMs
Brainlet

>Entry-level corporate slaves don't use raw SQL
FTFY.

>you've deceived yourself into thinking your data is not relational
this
The only valid use case I see is when you have data collections without a defined scheme, i.e.: you need to store spaghetti values that DO NOT have relationships of any sort between each other.