Earlier quoted context omitted.
> Nowhere in the documentation does it mention that it will silently discard your data. Demonstrably false. http://www.mongodb.org/display/DOCS/getLastError+Command "MongoDB does not wait for a response by default when writing to the database. Use the getLastError command to ensure that operations have succeeded."
I fail to understand how and why silent failure is considered a reasonable default.
I’ll Give MongoDB Another Try In Ten Years
131–140 of 194 posts
Re: I’ll Give MongoDB Another Try In Ten Years
#132Earlier quoted context omitted.
...and if you're building a banking app, that's relevant. If you're building a chat system, maybe things other than data integrity matter more.
Is it not relevant for a blog? Your business website? Your toy application? It is even relevant for a chat system! And the flaw of your argument: Even if there are other more important things for an application, let's just make anything else than the #1 feature shit.
And the flaw of your argument: Even if there are other more important things for an application, let's just make anything else than the #1 feature shit.
I don't actually understand what you mean, here, but since you say it's the flaw of my argument, I'm very interested in it. Could you rephrase briefly?
Re: I’ll Give MongoDB Another Try In Ten Years
#133Earlier quoted context omitted.
A good system is forgiving; it encourages exploration; if there's a choice between safety and performance it defaults to safety. If/when profiling shows the safe behaviour to be a bottleneck, then users can Google the issue and discover "Oh, I just need to set flag X; I can live with the consequences here". Expecting the user to be an expert in your product from the start is simply not realistic; a well-designed syst…
> A good system is forgiving; it encourages exploration; if there's a choice between safety and performance it defaults to safety. Not if you're choosing a system that's explicitly marked for performance over safety. > Expecting the user to be an expert in your product from the start The 'product' in this case is a non-relational database, not an iGadget. The user can and should be expected to be familiar with the ma…
I think you're right though: MongoDB should not be used without _lots_ of research into its limitations.
Re: I’ll Give MongoDB Another Try In Ten Years
#134Earlier quoted context omitted.
> A good system is forgiving; it encourages exploration; if there's a choice between safety and performance it defaults to safety. Not if you're choosing a system that's explicitly marked for performance over safety. > Expecting the user to be an expert in your product from the start The 'product' in this case is a non-relational database, not an iGadget. The user can and should be expected to be familiar with the ma…
Kudos to you for doing your research. If you're saying "don't use MongoDB without doing at least N days of research first", then you're very much at odds with (my perception of) the 10gen marketing message. I think you're right though: MongoDB should not be used without _lots_ of research into its limitations.
That's true about any database, not just MongoDB; nothing new here.
> then you're very much at odds with (my perception of) the 10gen marketing message.
10Gen is fairly straightforward about the original issue, having blogged openly several times about their decisions - but at the end of the day, any engineer should do research beyond the simple marketer's pitch.
I won't doubt that there are people who make snap judgements about fundamental architecture based on marketing pitches[1], but that's very unfortunate, and the marketers really can't be blamed, especially when they make no effort to conceal the truth or deceive you!
Re: I’ll Give MongoDB Another Try In Ten Years
#135We've been interviewing candidates to join our team for a few months, and I've also lent some interviewing support to other startups in our area. I've noticed a trend across about 20+ candidates, all of whom are smart people: people are using Mongo without actually understanding what the hell it's trying to solve by getting away from the RDBMS paradigm. I'm not sure if this is because 10gen markets it as a general pu…
I have talked to more than one 10gen marketing bro who insisted that MongoDB is appropriate for any and all use cases, transient to archival. It's pretty disingenuous if you ask me.
Re: I’ll Give MongoDB Another Try In Ten Years
#136Earlier quoted context omitted.
Second every word here. The version in the Ubuntu's repositories is not the latest(which is 2.2) and they can't be more explicit about it than pointing it out on the download page and giving a message upon the database startup.
The version in the Ubuntu's repositories is not the latest(which is 2.2) What does the author's complaint have to do with the version Ubuntu is distributing? Are the 32-bit limitations present in Ubuntu's version not present in the most recent version? If they are, than who cares which of them he installed? they can't be more explicit about it than pointing it out on the download page and giving a message upon the da…
Nope. In fact fedora developed packagekit said the idea was broken and caused a controversy over supporting it for ages
Re: I’ll Give MongoDB Another Try In Ten Years
#137Earlier quoted context omitted.
> Nowhere in the documentation does it mention that it will silently discard your data. Demonstrably false. http://www.mongodb.org/display/DOCS/getLastError+Command "MongoDB does not wait for a response by default when writing to the database. Use the getLastError command to ensure that operations have succeeded."
It blows my mind that you'd have to post this at all. Who's writing to mongo without making sure the write succeeded?
MongoDB: "Done!"
[Ed: The following is an unusual default requirement]
Me: "MongoDB, did you store what I asked?"
MongoDB: "Nope! Good thing you checked!"
Re: I’ll Give MongoDB Another Try In Ten Years
#138Earlier quoted context omitted.
Kudos to you for doing your research. If you're saying "don't use MongoDB without doing at least N days of research first", then you're very much at odds with (my perception of) the 10gen marketing message. I think you're right though: MongoDB should not be used without _lots_ of research into its limitations.
> I think you're right though: MongoDB should not be used without _lots_ of research into its limitations. That's true about any database, not just MongoDB; nothing new here. > then you're very much at odds with (my perception of) the 10gen marketing message. 10Gen is fairly straightforward about the original issue, having blogged openly several times about their decisions - but at the end of the day, any engineer sh…
That's exactly the point where we started. A well-designed system fails "safe"; it should obey the principle of least surprise. Specifically: MongoDB should default to synchronous writes to disk on every commit; official drivers should default to acknowledging every network call; MongoDB shouldn't allow remote access from the network by default. Once you want higher performance or remote access, you can read about the configuration options to change and learn on-the-fly, evaluating the trade-offs as needed.
Other systems are safe by default (e.g. PostgreSQL), and their out-of-the box performance and setup complexity suffers because of it. MongoDB could ship "safe" (with the same trade-offs), but chooses not to. That sort of marketing-led decision-making has no place in my technology stack.
Re: I’ll Give MongoDB Another Try In Ten Years
#139Earlier quoted context omitted.
Is it not relevant for a blog? Your business website? Your toy application? It is even relevant for a chat system! And the flaw of your argument: Even if there are other more important things for an application, let's just make anything else than the #1 feature shit.
I'm just saying some databases are like the mail. A chat system is one such case. And the flaw of your argument: Even if there are other more important things for an application, let's just make anything else than the #1 feature shit. I don't actually understand what you mean, here, but since you say it's the flaw of my argument, I'm very interested in it. Could you rephrase briefly?
Re: I’ll Give MongoDB Another Try In Ten Years
#140Earlier quoted context omitted.
> I think you're right though: MongoDB should not be used without _lots_ of research into its limitations. That's true about any database, not just MongoDB; nothing new here. > then you're very much at odds with (my perception of) the 10gen marketing message. 10Gen is fairly straightforward about the original issue, having blogged openly several times about their decisions - but at the end of the day, any engineer sh…
> That's true about any database, not just MongoDB; nothing new here. That's exactly the point where we started. A well-designed system fails "safe"; it should obey the principle of least surprise. Specifically: MongoDB should default to synchronous writes to disk on every commit; official drivers should default to acknowledging every network call; MongoDB shouldn't allow remote access from the network by default. On…
'Surprise' is relative to the current environment and paradigm (in this case, asynchronicity)- if you find that surprising, then that means that you should have read the basic documentation properly.
> MongoDB could ship "safe" (with the same trade-offs), but chooses not to.
Because that's one of the main points of choosing MongoDB...