5 ms·
MongoDB/NoSQL is deployed and used at large scale by companies like Facebook, Ebay and many others. That's quite far from "no one is actually making that choice
by maephisto 9y ago
MongoDB/NoSQL is deployed and used at large scale by companies like Facebook, Ebay and many others. That's quite far from "no one is actually making that choice nowadays".
- wheaties 9y ago...and large companies still use stack ranking to judge whom of their employees to keep and which to fire. Just 'cause someone very big is doing it, doesn't mean it's right.
- StavrosK 9y agoUsing MongoDB/NoSQL for the parts of your data where it makes sense is one thing. Thinking "I'm starting a new accounting application, I'll just use Mongo as the datastore because it has better support for my stack" is another.
- Kpourdeilami 9y agoNoSQL is the most useful when you're dealing with event data which aren't the main part of the application. We use MongoDB for analytics on our API endpoints because storing that kind of data in postgres will add unnecessary bloat to it
- elvinyung 9y agoHi Kash. Genuinely curious, any other reason to choose MongoDB for analytics? It seems like a poor choice if you want expressive queries for data science. Why not just directly `COPY` your log files to something like Redshift?
- Kpourdeilami 9y agoHey! For convenience, mostly. We used to depend on Mixapanel for analytics and MongoDB was a good drop-in replacement with only 20-30 extra lines of code. I agree that Redshift would be a better choice for complicated queries afterwards but the only queries we run on the event data is looking up 2 events with the same "training_id" and calculate the time difference between their timestamps for billing purposes. The "important" events for data science are still stored on postgres (i.e. logins for checking if a login was malicious)
- elvinyung 9y agoWell, I meant for startups, which I thought was implicit given that the original blog post was about "Startup Mistakes". Yes, I agree that an key-value store that lets you do embarrassingly parallel reads and writes is useful for scaling, but has't it been said enough that You Are Not Google[1]? [1] https://blog.bradfieldcs.com/you-are-not-google-84912cf44afb https://blog.bradfieldcs.com/you-are-not-google-84912cf44afb
- notacoward 9y agoThe fact that it's used today might just reflect choices made (and possibly regretted) ages ago. It doesn't prove that anyone's making that choice today, or refute a claim to the contrary. Also "MongoDB/NoSQL" is a slippery phrase. There are plenty of people who use other NoSQL databases who would never have touched MongoDB with a twenty-foot pole, so your statement's truth varies according to which part of the subject you look at.
- alkonaut 9y ago> companies like Facebook, Ebay They didn't chose NoSQL, they were forced to. I'm fairly convinced they started with relational stores. If a company or product grows to a point where relational data doesn't work, that's a problem you want to have. The mistake is either thinking you need to design for facebook scale from the beginning OR thinknig that you can cut time in a startup by not having to bother with those pesky schemas that just slow you down.
- erik_seaberg 9y agoFacebook started with normalized tables, though they altered the schema really frequently. They added more MySQL servers as they grew to more schools. Then their users started graduating and moving around and things got complicated.