News for hackers. Stuff that matters.

kchodorow

Re:Racism in Tech on Tuesday November 01, 2011 @12:56PM (#3182953)
He's saying that black people and women are under-represented in CS. I think most people would agree that Indians and Chinese people are not underrepresented, but also can face prejudice.
I interpreted "what is sacrificed?" as asking which letter of CAP MongoDB was giving up. Coda's article actually explains exactly the tradeoffs MongoDB makes for CP:

-------------------

Choosing Consistency Over Availability

If a system chooses to provide Consistency over Availability in the presence of partitions (again, read: failures), it will preserve the guarantees of its atomic reads and writes by refusing to respond to some requests. It may decide to shut down entirely (like the clients of a single-node data store), refuse writes (like Two-Phase Commit), or only respond to reads and writes for pieces of data whose "master" node is inside the partition component (like Membase).

This is perfectly reasonable. There are plenty of things (atomic counters, for one) which are made much easier (or even possible) by strongly consistent systems. They are a perfectly valid type of tool for satisfying a particular set of business requirements.

-------------------

MongoDB is partition tolerant and consistent.

You can never have multi-master with MongoDB, which is required for "always writable." However, it can be readable. Our CEO did a series of posts on distributed consistency, see http://blog.mongodb.org/post/475279604/on-distributed-consis....

10gen doesn't publish any benchmarks. See http://www.mongodb.org/display/DOCS/Benchmarks for the official position.

I transcribed the MongoDB vs. Riak part of the Changelog webcast (available at http://thechangelog.com/post/3742814720/episode-0-5-1-mongod...):

------------------------

Riak and all the dynamo-style databases are really distributed key/value stores and I think, you know, I've never used Riak in production, but I have no reason not to believe it's not a very good, highly scalable distributed key/value store.

The difference between something like Riak and Mongo is that Mongo tries to solve a more generic problem. A couple of key points: one is consistency. Mongo is fully consistent, and all dynamo implementations are eventually consistent and for a lot of developers and a lot of applications, eventual consistency just is not an option. So I think for the default data store for a web site, you need something that's fully consistent.

The other major difference is just data model and query-ability and being able to manipulate data. So for example with Mongo you can index on any fields you want, you can have compound indexes, you can sort, you know, all the same types of queries you do with a relational database work with Mongo. In addition, you can update individual fields, you can increment counters, you can do a lot of the same kinds of update operations you would do with a relational database. It maps much closer to a relational database than to a key/value store. Key/value stores are great if you've got billions of keys and you need to store them, they'll work very well, but if you need to replace a relational database with something that is pretty feature-comparable, they're not designed to do that.

-----------------------

It starts at minute 17.

edited: formatting.

Re:Joel Spolsky on allocating ownership in your startup on Thursday April 14, 2011 @08:44AM (#2446570)
A lot of comments seem to be squabbling over details, but your startup is almost certainly going to fail, and the longer you haggle over splitting proceeds, the more likely failure is. Just split it and start working already!

If your company is a success, great, but is it really going to matter if you're worth 50 million vs. 60 million in the infinitesimal chance that it pops?

Re:MongoDB 1.8 (stable) released on Thursday March 17, 2011 @08:16AM (#2335864)
I think it's just an old joke at this point. It's funny the first time you see it and the second time, but the 50th?
Re:MongoDB 1.8 (stable) released on Thursday March 17, 2011 @08:14AM (#2335858)
(I work on MongoDB, but trying to give a balanced opinion.)

Redis is a great key-value store, MongoDB is more of a fully-featured database. Redis has some nice set operations and is pretty easy to learn (all of the commands are here: http://redis.io/commands). MongoDB is also pretty easy to learn (click the "Try it out" button at http://mongodb.org/), but there are a lot of advanced features to learn about.

So, if you need a key-value store, Redis is a great choice. If you want to do something more complex, MongoDB would probably work better.

Re:MongoDB 1.8 (stable) released on Wednesday March 16, 2011 @06:38PM (#2334281)
Journaling should give you the crash-safety you're looking for. You should combine it with safe writes to get the commit safety you want (not the default, but is easy to choose, see your driver's documentation).

The mailing list is a great place for this type of question, too (http://groups.google.com/group/mongodb-user).

Re:MongoDB 1.8 (stable) released on Wednesday March 16, 2011 @04:10PM (#2333666)
A lot of people like it because it makes development faster. It's like the scripting language of databases: you can get stuff out the door really fast (with the obvious power/responsibility caveats).
Re:MongoDB interactive tutorial on Wednesday March 16, 2011 @10:10AM (#2332047)
Actually, the Redis one was a clone of MongoDB's.
Re:MongoDB vs. Clustrix Benchmark on Monday January 31, 2011 @12:26PM (#2162314)
Excellent point. MongoDB doesn't claim to be any faster than other dbs at the simple stuff (in fact, it's often slower because we haven't had years to optimize everything). The speed gains that people usually see are because they can just fetch one document, instead of doing complex joins or aggregations.
Re:MongoDB 1.7.5 Released with single server durability on Thursday January 27, 2011 @11:34AM (#2148420)
No one is ruling it out as being the default in the future. However 1) it was a pretty major code change and 2) this is the first release to make it publicly available.

Do you really want that enabled by default right off the bat?

Re:What if Visual Studio had Achievements? on Tuesday January 25, 2011 @07:17PM (#2141546)
Forget VS, someone should make an emacs extension that does this.
Re:Ask HN: Who's Hiring? (December 2010 Edition) on Wednesday December 01, 2010 @11:04AM (#1958272)
There are some details in the internship description, feel free to email us or post here if you have any specific questions.
Re:Ask HN: Who's Hiring? (December 2010 Edition) on Wednesday December 01, 2010 @07:46AM (#1957710)
MongoDB (10gen)

New York City and Redwood City, CA.

Looking for software engineers, QA, support engineers, interns, and more: http://www.10gen.com/jobs. Working remotely depends on the job.

Working on MongoDB is great: there are tons of interesting programming problems, an awesome community, my coworkers are brilliant, and you get paid to work on open source software.

Re:12 Months with MongoDB on Monday October 25, 2010 @07:45PM (#1832157)
A lot of people find MongoDB is faster for queries because they avoid a lot of joins.
Re:3 reasons to use MongoDB on Thursday September 09, 2010 @03:10PM (#1676500)
Sort of. MongoDB tried to keep a lot of the trimmings of a relational database, but remain scalable. Joins are handy, but don't scale well.
Re:3 reasons to use MongoDB on Thursday September 09, 2010 @03:08PM (#1676493)
GridFS is simple (and probably could be implemented with most DBs) but it was designed to have some nice properties. Notably, you don't have to load the whole file into memory: you can stream it back to the client. You can also easily get random access to the file, not just sequential.
Re:Would You Unschool Your Child? on Thursday September 02, 2010 @06:49PM (#1658003)
Describing school as "sitting passively" is a huge generalization. If you have a half-decent school system (which you might not, I was lucky and had a great one) it should be very interactive.

School's benefit, I think, is that it exposes you to a ton of topics that aren't your primary interests (or your parents' primary interests). How many people have taken a class because it had a cool name or their friend was taking it or they needed the credit and it turned out they loved the subject?

Re:MongoDB 1.6 stable released on Thursday August 05, 2010 @02:55PM (#1578962)
Also Mongo Machine: http://mongomachine.com/
Re:MongoDB: 8m ops/s on 25 servers (320k per server) on Tuesday May 11, 2010 @06:46PM (#1339493)
"operation" is updates+inserts+reads+deletes+database commands, in ~1:1:10:1:1 ratio (IIRC).

I don't know what the exact operations were, it was supposed to simulate a real-life web app distribution of requests.

Re:MongoDB: 8m ops/s on 25 servers (320k per server) on Tuesday May 11, 2010 @06:39PM (#1339478)
Yes, exactly. The total was for all operations and, yeah, it's basically a GUI of mongostat.