Announcing TokuMX v1.0: Toku+Mongo = You Can Have It All

Tokutek is known for its full-featured fast-indexing technology. MongoDB is known for its great document-based data model and ease of use. TokuMX, version 1.0, combines the best of both worlds.

  • So what, exactly, is TokuMX? The simplest (but incomplete) answer is that TokuMX is MongoDB with all its storage code replaced by Tokutek’s Fractal Tree indexes.
  • How do Fractal Tree indexes improve MongoDB? The direct benefits include high-performance indexing, strong compression, and performance stability – in other words, the performance stays high, even when data is larger than RAM.
  • Are there any features in TokuMX that MongoDB doesn’t have? Yes. We have added support for transactions to TokuMX, so that TokuMX is ACID compliant and has MVCC. We have also added support for clustering indexes, which dramatically accelerate many types of queries.
  • So TokuMX is MongoDB with the storage code replaced? Almost. It’s actually better than that. We have replaced the locking and replication code in MongoDB — code that sits above the storage layer — so that TokuMX scales with client count on read/write workloads. And TokuMX has great replication performance.
  • But will my MongoDB application code still work? Yes. At the application level, all the regular MongoDB commands will still work. Well, almost all. We have deprecated some commands: compact is no longer needed since Fractal Tree indexes don’t fragment; repairDatabase is no longer needed since TokuMX is transactional, and so forth. In other words, we deprecated commands that support no-longer-necessary housekeeping. You can use them, but they just don’t do anything. All the commands involving you and your data still work, and require no change to your application. All the new features are extensions of the language. You can access them with simple syntax changes or use TokuMX as a drop-in replacement for MongoDB.

So, if you have a MongoDB application that could benefit from faster indexing, or better compression, or ACID transactions, or more concurrency, check out TokuMX.

To learn more about TokuMX: