MongoDB Acquires WiredTiger
mongodb.com
mongodb.com
WiredTiger has the same techie principals as SleepyKat – get the wordplay?! – which was Mike Olson’s company before Cloudera. When asked, Mike spoke of those techies in remarkably glowing terms.
I wouldn’t be shocked if WiredTiger wound up playing the role for MongoDB that InnoDB played for MySQL. What I mean is that there were a lot of use cases for which the MySQL/MyISAM combination was insufficiently serious, but InnoDB turned MySQL into a respectable DBMS.
MyISAM/mongodb both have table/collection locking, no transactions, make no ACID guarantees. WiredTiger/InnoDB by contrast introduce row/document level locking, transactions, and ACID.
Incidentally, this is why we moved to TokuMX over vanilla Mongo; it provides similar benefits, and is production-ready today. The disk usage is massively improved, document locking means that I practically never have to worry about lock contention (and if I do, it's usually a sign that I have something messed up in my app, rather than something wrong in my DB), I get guarantees about durability, they've even done some heavy work to fix Mongo's election protocol which fixes a number of outstanding issues in failover scenarios. With those features in place, it's actually a decently respectable DB; if WiredTiger can deliver a similar level of improvement, it'll do very good things for Mongo as a DB and a company.
My only problem I had with MongoDB in the past was scaling without document-level locking. For every write, my program was waiting for a write receipt, instead of the default fire and forget. I was noticing latency when the whole database would get locked. I'm very excited for document-level locking.
One thing though: there is one undisputed candidate for the title "the most widely-used embedded data management software in the world", and that is sqlite. BDB is indeed widely used, but sqlite would be deployed in at least one order of magnitude more computers.
BDB are used a lot on the server side, but you can't beat the consumer devices.
I know they aren't the most popular thing around here but they are insanely popular and it's great to see the product improving.
Personally speaking, I'm surprised how good PostgreSQL is and I realize that a lot of the reason we use a certain DB is because of marketing. Had I know about PostgreSQL before MySQL I would've never even made the switch.
I have zero DB issues now, and all the MongoDB experience really worked for my employees as they now work full-time on it at a dedicated MongoDB provider, so win-win.