8 ms·
This article is spot-on, but 10gen did one more thing they probably shouldn't have: marketed their not-very-scalable, not-very-durable database as a solution to
by bri3d 14y ago
This article is spot-on, but 10gen did one more thing they probably shouldn't have: marketed their not-very-scalable, not-very-durable database as a solution to problems companies were having with scalability and durability.
- bluestix 14y agoMarketing geniuses for sure. Success comes with billboards on the 101 in Redwood City.
- whalesalad 14y agoI'm very curious about this. I feel like the community at large seems to agree mongo is a dangerous choice. But then I read articles like this. At what scale do you replace Mongo? Should it only be used for bootstrapping something? Is it something that 80% of apps will be fine on? I'm in an interesting spot myself right now. I've been hacking on Django since 0.96. I love the ORM, and hate everything else. Python on the other hand is a wonderful language. Rails... I've been spending 8 hours a day for the past month building a rails project. I love a lot of things about rails, hate the ORM, and dislike a lot of the magic. On the flip side: I've been a Javascript/front-end developer since before jQuery existed, and I love coffeescript. I understand callback-style evented programming and therefore node.js apps make perfect sense to me. My co-founder and I have just finished some heavy duty design/wireframe/conceptual work on a new project of ours. It's time to build the API. I am COMPLETELY torn with what framework/language/database to use for this project. At first I thought mongodb and coffeescript+node would be fun and reliable. But the community seems to think mongo is unreliable and almost dangerous. So I thought, hmm, Riak looks like it will let me throw whatever data I want into it (like mongo) but it's rock solid. I later dismissed that since I figured I'd need to do a lot of heavy lifting on my own. Rails keeps poking me in the back of my mind but I honest-to-god hate ActiveRecord and am afraid to use DataMapper for fear it won't play nice with a lot of the popular ruby goodies out there. I've modeled most of the project now in Django and i'm starting to play with Tastypie for the REST component. It feels too kludgy. I'm a wreck. Mommy?
- ihsw 14y agoOne of the main sticking point for serious mongodb infrastructure is the global lock -- yes, write operations cause the entire mongodb instance (every database, every read operation) to block. This is clearly one of the main issues surrounding high-concurrent mongodb development. Thankfully with mongodb-2.2 there is now instead a database lock which mitigates the issue. Personally I feel redis more closely resembles language primitives with simple key-value pairs, hashes, lists (ordered, repeating values allowed), sets (un-ordered, no repeating values), and sorted sets (more interesting).
- taligent 14y agoRedis has no clustering (yet) so is best used when your data is transient and you are able to repopulate.
- j-kidd 14y agoI have no experience with Redis or MongoDB, but your statement is only true if the storage layer is transient. Some of us use servers that don't go away upon shutdown, backed by a SAN.
- mh- 14y agoHave you tested how long it would take your redis instance to be usable again after it finishes replaying the commitlog (AOF)?
- deleted 14y ago[deleted]
- WALoeIII 14y agoYou are thinking too hard. Just pick one, you can always change later. All of the options you have presented are "Very Good" - they do so many things right. To steal a pithy quote from my co-worker: "Its a balloon squeeze." This decision will not determine the success or failure of your business, move along. I pick Rails & Ruby.
- 23david 14y agoagreed. however, in the article it praises the mongodb defaults. but time and time again we've been bitten by open files issues that are easily solved by shipping better init.d scripts. I also feel that scaling out mongodb clusters is unnecessarily complicated.