I am actually quite excited about Tokutek’s release of TokuMX. I think it is going to change the landscape of database systems and it is finally something that made me looking into NoSQL.
Why is TokuMX interesting? A few reasons:
- It comes with transactions, and all that good stuff that transactions provide: a concurrent access to documents (no more global write-lock in MongoDB); crash recovery; atomicity
- Performance in IO-bound operations
- A good compression rate, which is a money-saver if you use SSD/Flash
- But it is also SSD/Flash life-time friendly, which is double money-saver
So having all these factors it is just a no-brainer if you have a MongoDB component in your setup. I actually started to use it as a service for queue in a system I’m working on right now, and my experience so far has been quite smooth.
I have some suggestions for Tokutek – please stop placing all files into a single directory (this is for both TokuDB and TokuMX) – if you have 1,000 databases with 100 tables or collections each, it gets quite messy with 100.000*x files in the single datadir.
In general I will agree with Baron, that TokuMX means for MongoDB the same as InnoDB to MySQL, and the NoSQL world just got a level-up… and it is becoming interesting.