Someone asked me that once, and I thought it was a great question, so I stole it.
26 karma · joined October 26, 2010
Someone asked me that once, and I thought it was a great question, so I stole it.
People often ask "why use bcrypt", and the response is that they should google it. If you look through the first page of google results for [why use bcrypt], though, none have a good discussion of the reasonable alternatives, or when you might want to use one or the other.
Coda Hale's post has a pretty good explanation of why bcrypt is good, but I personally find this to be more in-depth.
[2] is from a year and a half ago. It doesn't belong in a sentence that includes the word "still." I work at foursquare, btw. Those outages happened on my first and second days at the company. I wasn't so keen on mongo then either. We've gotten much better at administering it. Basically all our data is in mongo, and it has its flaws, but I'm still glad we use it.
[3] is also from a year and a half ago. Mongo 2.2 will have a per-database write lock, which is at least progress, even though it's obviously not enough. Since 2.0 (or 1.8?) it's also gotten better at yielding during long writes.
I have no experience with their mapreduce impl and can't speak to it.
http://highscalability.com/blog/2009/8/5/stack-overflow-arch... is the link I can find right now.
I think your definition is better, and I should've said "a potentially-large site" or something like that.
That said, if your site grows in some way you didn't originally anticipate and you get to a point where you need to shard, but can only do so by changing data stores, then it's sad.
With postgres you have to roll your own. If you want to bridge the gap from postgres to mongo, I think that's where you have to start.