11 ms·
In the circles I run in, MongoDB is regarded as a joke and the company behind it as basically duplicitous. For example, they still list Facebook as their first
by madhadron 6y ago
In the circles I run in, MongoDB is regarded as a joke and the company behind it as basically duplicitous. For example, they still list Facebook as their first user of MongoDB on their website, for example, but there is no MongoDB use in Facebook hasn't been for years (it came in only via a startup acquisition).
I had the misfortune to use MongoDB at a previous job. The replication protocol wasn't atomic. You would find partial records that were never fixed in replicas. They claimed they fixed that in several releases, but never did. The right answer turned out to be to abandon MongoDB.
- macintux 6y agoThe joke I learned early on: "Migrating away from Mongo is trivial: wait long enough, and all your data will be gone anyway." I imagine things are better now.
- MrBuddyCasino 6y agoMongoDB: the Snapchat of databases.
- DevKoala 6y agoThat’s mean to SnapChat.
- craftinator 6y agoSnapchat at least warns you that your data will disappear.
- zitterbewegung 6y agoSnapchat has disappearing messages as a feature.
- craftinator 6y agoSo does MongoDB! It's a feature!
- sairamkunala 6y agoit's documented too. as per the dev rel's tweet.
- bryanrasmussen 6y agoit's documented, if you know how to read! on edit: between the lines.
- deleted 6y ago[deleted]
- dkersten 6y ago“Does your database have snapshot isolation?” “No, we have snapchat isolation!”
- mathattack 6y agoThey’re not.
- darkarmani 6y agoI just call it a probablistic datastore.
- mathattack 6y agoLet’s hope the data disappears after you’ve collected revenue but before you paid the expenses. Crap product, shady company, sleazeball salesforce.
- chx 6y agoThere was a time when I advocated for MongoDB with the usual caveats. The ability to easily store and index complex data was of great value. And then in 2015 October, within a week of each other, SQLite and MySQL both learned how to index on expressions and store JSON (SQLite 3.9 2015-10-14, MySQL 5.7 2015-10-21). PostgreSQL added jsonb the year prior in 9.4. At that moment the value of MongoDB for me diminished greatly.
- tasuki 6y agoWhy is storing json in a database important to you? Whenever I see json fields in PostgreSQL/MySQL, I know I'm most likely in for inconsistent data and a world of pain.
- marcan_42 6y agoWhy is storing all data normalized in a database important to you? Whenever I see an exceedingly complicated database schema, I know I'm most likely in for unfixable legacy DB warts and incessant schema updates for every little feature. Hyperbole aside, the best option often is somewhere in between. I find that a relational database with columns for primary keys/relations/anything used in WHERE statements in the normal application path, and a json blob for everything else that's just attributes for the current row/object/document, makes for a very flexible and successful DB schema. You get all the strong relational consistency benefits of traditional schemas, plus the flexibility to add and modify features that don't require relation changes without touching the schema, and the ability to represent complex structures while still allowing ad-hoc and admin path queries to peek into them where necessary. In fact, most "fully normalized" databases end up reimplementing a key/value store or twelve in there anyway (e.g. config settings, user attributes, and the like). Might as well just use JSON at that point.
- HelloNurse 6y agoIt really depends on applications. In most databases I've seen, if information is unimportant it is just omitted and if it's important it's worth putting in a proper column to allow relational operations; and if important information is big it's usually unstructured or ad-hoc (e.g. log messages, PDF documents), not a "document" and particularly not JSON.
- sneak 6y agoI run in two circles: the one you mention, but also the other: I have gotten pushback from people (usually devs at clients of mine) for saying it’s lunacy to run a real, actual business on Mongo. (This has always happened from orgs with <10TB of data in the database.) You’d be astounded how common it is at so-called “enterprise” startups. It blew my mind. A lot of people simply never went through the LAMP stack days and have little/no experience with real databases like Postgres (or even MySQL). It’s disheartening.
- tehlike 6y agoI got my pm friend prototype his idea on mean stack, but when we got more serious, immediately transitioned to postgres and started using sequelize as the orm. Pretty good decision so far. I don't think they will have cases that won't scale with orm for foreseeable future.
- PacifyFish 6y agoHow do you manage dev vs prod instances with sequelize? Specifically, do you use migrations for your local dB or just force sync it?
- tehlike 6y agothey use sequelize migrations for now, eventually we may want to go to something more advanced. take a backup, apply migrations has worked so far. force sync extremely harmful, sequelize is terrible for not being able to incrementally do schema changes. I don't think it can actually add a column, for example. For us, as a result, it means anytime we add a new model or change a table, we write the table definition in more verbose api, and sometimes resort to sql commands for adding things like defaults in the migrations. (sequelize for some reason can not specify uuid default value for postgres, for example, so we set a default ourselves, even though we don't need one as we have time dependent uuid generator on the client to help with indices). We kind of learned working around sequelize shortcomings :) I am still looking for a tool that'd make incremental backups on postgres easier than it is, but for now things are ok.
- AmericanChopper 6y agoSequelize documentation is pretty bad for some of this stuff, but it has the functionality you listed. You can give Postgres a default uuid by setting the column options to ‘new Sequelize.UUIDV4()’, and queryInterface supports add, remove and change column. The biggest annoyance I had with migrations was anything that needed a model to be defined inside the migration. I eventually gave up on that and just wrote my own scripts to work around it. But perhaps I just wasn’t persistent enough...
- kyllo 6y agoI was floored by this comment yesterday from one of their Developer Relations people: > Did any of you actually read the article? We are passing the Jepsen test suite and it was back in 2017 already. So, no, MongoDB is not losing anything if you know what you are doing. https://twitter.com/MBeugnet/status/1253622755049734150?s=20 https://twitter.com/MBeugnet/status/1253622755049734150?s=20 Can you imagine saying the phrase "if you know what you are doing," in public, to your users, as a DevRel person? Unbelievable.
- jen20 6y agoFirstly let me point out that this response is neither intended as a defence of MongoDB defaults which are atrocious, or of the company, who are arguably duplicitous. However I can _quite easily_ see how a non-native English speaker could use the phrase “if you know what you are doing” to mean “if you are careful”.
- yellowapple 6y ago"If you are careful you might not lose all your data" doesn't sound very reassuring, either.
- kyllo 6y agoPerhaps, but the point is, if you're working in DevRel and you think your role is to defend the product from criticism, and you do it by placing the onus on the developer to figure out how to use your product safely, you've totally lost the plot.
- bauerm97 6y agoAlso, if you're a DevRel, maybe you should have strong verbal and written communication skills in the language of your users? Just an idea
- deleted 6y ago[deleted]
- bryanrasmussen 6y ago
- ashtonkem 6y agoEvery single time I've had to work on top of a Mongo cluster, it has gone into "three stooges" mode, where each node insists that one of the others is master. I pretty much refuse to deploy a new instance of it now, I've been burned too often.
- DonHopkins 6y ago"I'm trying to sync, but nothing happens!" https://www.youtube.com/watch?v=mlejsgxOxrU https://www.youtube.com/watch?v=mlejsgxOxrU
- Diederich 6y ago> but there is no MongoDB use in Facebook hasn't been for years Are you sure?
- hypewatch 6y agoIt’s certainly not used for any mission critical apps. Facebook’s stack is pretty well known. They’ve been using sharded MySQL for a while now. Instagram started on PostgreSQL but I believe has switched to Cassandra.
- Diederich 6y ago> mission critical apps Thanks for the clarification. As an example: would you consider the backend software stack that manages physical access to the campus 'mission critical'?
- toast0 6y agoSure, that's mission critical (ish), but it's not really what people think of when they think of Facebook. It's not millions of posts per second, ultra scalable whatever. Disclosure: I worked at Facebook, but not in that department, or anywhere near any MongoDB.
- hypewatch 6y agoI would not. Facebook.com still operates with or without that system. Especially now with COVID-19, I’m sure it’s not being used at all. Mission critical - essential for operating Facebook.com
- pandemicsyn 6y ago> I’m sure it’s not being used at all Is is a company wide system? Its all fun and games until the cooling in a dc starts to have issues and the facilities team can't gain access because....mongo... ?
- dijit 6y ago
- polote 6y agoNobody seems to like it. Someone has any idea on why the company still has their revenue increasing ?
- squeaky-clean 6y agoI like it, but I don't really really chime in on threads where it's mostly Mongo bashing and jokes, and I'm guessing others who like MongoDB do the same. But I'd think MongoDB the company increasing in revenue isn't totally related to the quality of MongoDB the database. In fact a lot of their products seem to be targeting the "I don't want to learn how to set it up and understand indexes" crowd.
- vosper 6y agoWhich is funny because one of the things hosted Mongo will do is constantly send you automated emails suggesting that you should create indexes (for tables that MySQL or Postgres would laugh at)
- neeleshs 6y agoSends emails when scanned vs returned record ratio is greater than a threshold. Not quite sure how something like this would be different for MySQL/postgres. If an index is missing for you query pattern, wouldn't you create an index in MySQL/postgres?
- Xylakant 6y ago> If an index is missing for you query pattern, wouldn't you create an index in MySQL/postgres? No. I’d consider adding an index. An index is not free, it comes at a cost and that cost may well be higher than the costs of not having that index. For example, if a reporting query that runs once every few hours is lacking an index, the cost of updating that index on every write (and the disk space/memory used) may well exceed its benefits.
- 6y ago
- icedchai 6y agoIsn't it amazing MongoDB is a 12 billion dollar company? Someone is using it and actually paying for it, even though it's not any of the developers you or I know.
- mathattack 6y agoIt’s the switching costs to get rid of it...
- vosper 6y agoCan confirm: stuck on MongoDB. Paying them for hosting is one less pain.
- mathattack 6y agoThat’s like giving the heroin dealer your ATM card.
- deleted 6y ago[deleted]
- kipply 6y agoTangentially related their sales strategy is questionable. As an intern at Shopify, I got an email from MongoDB asking us to switch. Shopify was 10 years old the time. Plus several coworkers would also receive similar emails two years later (and some in between of course). I have a shirt from MemSQL that says "Friends don't let friends NoSQL" and I wear it proudly.
- square_usual 6y agoIf their sales team is sending emails to interns, their strategy is very questionable indeed.
- penagwin 6y agoI don't know any details here, but it might have been just one of those "hey <developer position> we'd love to show you how <product> can help you save <time/money/both> - contact us for a demo " kinda things which wouldn't be too weird.
- kipply 6y agoThere was a custom blurb about Shopify and talk about "adoption" and alignment with my team, along with a followup email when I didn't respond. Weirder part was that my email wasn't public (but guessable, first.last@shopify) so they must've gone through some manual process to find people to contact
- mathattack 6y agoThey will happily waste the time of anyone willing to take a call. They are so sleazy they make Oracle look clean.
- mathattack 6y agoI have found their salespeople to be the most sleazy and unethical of any that I’ve worked with. Much worse than all the other database vendors combined.
- serkanh 6y agoCant agree with this more! I have never met any sleazier sales reps than MOngodb.
- mathattack 6y agoTry their managers.
- callalex 6y agoI know they are trying to beat Oracle in this sector, but I didn’t realize they meant it like this!
- bbulkow 6y agothat acquisition that used mongo got spun off and is now Honeycomb.io . nice people.
- madhadron 6y agoHoneycomb.io is a reimplementation (with some nice additions) of some of Facebook's internal monitoring tools. Mongo was never involved in those tools, as far as I know. I have no idea if honeycomb is using it internally.
- OOPMan 6y agoAs a skateboarder I've always found the name itself rather amusing as the term mongo has relatively negative connotations in skating.
- tincholio 6y agoIt also does in Spanish, it's a (rather old, but still used) shortened version of "retard" (from "mongólico", originally used to describe people with Down's syndrome).
- danielscrubs 6y agoSame in Swedish
- HelloNurse 6y agoSame in most languages, but there's also Emperor Mongo in Flash Gordon stories, definitely alluding to Mongol conquering hordes.
- danielscrubs 6y agoMost languages would be a stretch, there are over 7000 languages in the world.
- mr_gibbins 6y agoLose the O and it's also a nasty piece of British slang meaning the same thing.
- jwdunne 6y agoIt’s funny. Someone I used to know from Scotland is/was a software tester by day. She went mental about the name of their companies new DB. All over social media. “Derogatory, backwards”
- morelisp 6y agoThis is true in virtually all languages, as John Langdon Down used it to refer to the syndrome he first characterized, that today instead bears his name. https://en.wikipedia.org/wiki/Mongolian_idiocy https://en.wikipedia.org/wiki/Mongolian_idiocy
- dehrmann 6y agoBut their marketing team early on was amazing.