3 ms·
MongoDB represents to me a very good way to build a product. There has always been so much derisive criticism about MongoDB opting to prioritize convenience of
by mlthoughts2018 8y ago
MongoDB represents to me a very good way to build a product. There has always been so much derisive criticism about MongoDB opting to prioritize convenience of customer workflows above all else, and to go back and add best practices, basic data safety, etc., on a piecemeal basis after the fact. Customers are surprisingly willing to put up with problems as long as usability and user experience is high, and they will wait for other features. Meanwhile, plenty of other database projects may start out with a more deliberate focus on classical database safety and guarantees, yet hardly build any customer base.
Even though I may like e.g. Postgres features more, there is still something to be respected about how MongoDB has operated, and the constant vitriol about their chosen priorities has always sounded hollow to me, even accounting for stories about data loss, etc.
Incidentally, I once had the chance to tour the MongoDB office near Times Square, and boy, I can tell you it is not an office environment for me. Extremely loud, and they even have things like scooter parking slots and signs for “scooter etiquette” for rolling around the office on a scooter.
I’m not sure how they are able to focus on any engineering work, but kudos to them for finding a way.
- jayd16 8y agoI won't agree that its a good way to build a product, but its a marketing miracle that Mongo us used in production as widely as it is.
- marenkay 8y agoNot trying to be sarcastic here but isn't this the case for most products in their early years and even for some that are "old"? Every offering has its' issues but most of the time there is one feature that makes dealing with these worth it.
- overcast 8y agoThat's the point. Using relational data in a non-relational system is just foolish, and introduces issues not worth dealing with. What exactly is MongoDB going to give you over PostgreSQL in that case?
- marenkay 8y agoShort-term: quick to get started. Long-term? A plan to migrate to PostgreSQL.
- overcast 8y agoHonestly, spinning up a SQL server really isn't rocket science. SQL is easier to read and write than that messy mongo query language. Though, if you're used to taking the quick and dirty route for everything, you're probably using ORMs anyhow. But why do things twice? Just do it right the first time.
- angersock 8y agoMost products don't trash data and ignore almost every real-world usecase. MongoDB is a marketing meme that slowly has had a database built around it.
- marenkay 8y agoThere was perhaps even still is the idea out there to shave off some engineering time by ditching established principles engineers followed for the past 50 years. Personally I think the idea for MongoDB is not that bad. It's just not one that works for business scenarios, where traditional principles are mandatory.
- angersock 8y agoThere are some things I really like about it. The pattern-matching-esque syntax for queries, for example, is quite neat. The ability to do certain type of data munging, the easy use of JS to handle certain things, all good. But, the bread-and-butter business stuff has continually left me disappointed and sometimes working way harder than needed.
- overcast 8y agoThere are use cases for it, just as there are use cases for any type of database. The biggest source of problems that so many of us ran into, was using MongoDB as the Swiss army knife for projects. At the end of the day, most data is relational, and should be put in a relational database. Otherwise, you'll end up running into roadblocks, and inefficient work arounds shoehorning in relational operations.
- nemild 8y agoI think there's a fair bit of nuance to the story. I wrote a three-part series on it: https://www.nemil.com/mongo/ https://www.nemil.com/mongo/ Personally, I think that usability shouldn't be the primary decision criteria in a database for most engineers, even if it is a successful strategy.