5 ms·
Goodbye global lock – MongoDB 2.0 vs 2.2
- facorreia 14y agoDamn, when I glanced upon the title I thought it was about Python's GIL.
- slurgfest 14y agoWhat actual use case do you have that CPython's GIL is affecting in any serious way? And if you do have a real case which somehow requires the removal of the GIL, why don't you just use Jython, which has no GIL and recently released an implementation of Python 2.7?
- Mavrik 14y agoUm, pretty much all parallelizable CPU number crunching (data mining algorithms, computer vision etc.) which aren't covered in C code. Those are especially problematic, since they're usually coupled with numpy and simillar libraries not supported on other Python implementations - including Jython.
- mitchellh 14y agoThey've moved from a _process_ level lock to a _database_ level lock. Let's take a moment to golf clap their mediocrity. golf clap Use a real database.
- scottostler 14y agoIf you take a look at the benchmarks further down the page, the real improvement seems to be that mongo does a better job of yielding during page faults. That provides an improvement even with a single database.
- bsg75 14y agoI am a Real Database(tm) person, but I will give them some credit for: "Nevertheless, a major focus for the upcoming 2.2 release has been removing the global lock and introducing database level locking as an initial step towards collection level locking and potentially even more granular concurrency in future releases." This stuff is hard to get right, and why RDBMS' are simultaneously maligned as "old tech", yet are still the most dependable database mechanisms available. It seems like the successful(popular) "NoSQL" engines will eventually reinvent many RDBMS wheels - at least in the cases where they are aiming to be replacements.
- nknight 14y ago> It seems like the successful(popular) "NoSQL" engines will eventually reinvent many RDBMS wheels. The wheels in question aren't RDBMS wheels, they're just generic database wheels. The backlash against RDBMSs wasn't because of implementation details like this, it was because of the baggage of relational structures in general, and SQL in particular. The "reinvention" of these wheels is occurring now because non-relational databases are maturing now.
- bsg75 14y agoPoint taken. As I spend most of my time in SQL, and have come to find a comfortable language to use, I can still understand why fixed schemas give developers headaches - especially when schema migrations in MySQL can result in extra work to minimize downtime. I mention MySQL specifically, because most of the RDBMS -> NoSQL cases I see came from MySQL users. Coming from MSSQL, and now PostreSQL, it seems as though NoSQL is partially a NoMySQL sentiment.
- mitchellh 14y agoI don't claim that it is easy, especially with an RDBMS. Actually, given the few courses I took in university on database design, I know its very non-trivial. But MongoDB is not an RDBMS. There are no joins, so a query can only touch one collection (table) at a time anyways, so at least in that regards its much easier than an RDBMS.
- DenisM 14y agoNo need to be snarky, but I certainly share your general sentiment: http://news.ycombinator.com/item?id=3412386 http://news.ycombinator.com/item?id=3412386
- taligent 14y agoAnd they've indicated that in the next stable release they will have collection level locking. All moving towards sub collection locking. It is a relatively new database and they trying to make changes in small increments to ensure they don't break anything. Seems prudent to me.
- tinyjoe 14y agoNot that new, and with that much funding they received. They're just being lazy.
- deleted 14y ago[deleted]
- scorpioxy 14y ago"10gen do not provide official benchmarks because they tend to be irrelevant to real world usage." Anybody else thing this sentence is silly? I definitely do not base my judgement on a tool off its artificial benchmarks but I do check them to see if an upgrade is worth it or not. Irrelevant or not, please publish them. I'm a mongo user(for offline analytics) so any improvement in performance will be good.
- Karunamon 14y ago>Anybody else thing this sentence is silly? Not really. It's a lose/lose proposition to publish benchmarks, especially on something that's so environment and dataset dependent. Either real world performance is way below the benchmark leading to all kinds of storm and strife, or way above and then you lose credibility and people wondered why you bother anyways.
- timmyd 14y agoi guess then in some respects - its funny how correct Adam was in his comments http://www.quora.com/Quora-Infrastructure/Why-does-Quora-use-MySQL-as-the-data-store-instead-of-NoSQLs-such-as-Cassandra-MongoDB-CouchDB-etc http://www.quora.com/Quora-Infrastructure/Why-does-Quora-use...
- peterbe 14y agoWell done 10gen peeps! Keep up the good work. You deserve all the credit you can get. There's still a lot of work to do to catch up with established RDBMSes but you're definitely getting a bunch of things right already today.
- onetwothreefour 14y agoThese posts (the one about 20ms for a memcached lookup especially) make me doubt the technical prowess of the entire ServerDensity staff, and thereby stopping me from ever considering this product.