On February 3rd MongoDB, Inc. formally announced MongoDB v3.0 (the product release formerly known as v2.8). It includes a number of important enhancements, some of them of particular interest to users of the Tokutek distribution of MongoDB, TokuMX, or anyone thinking about using TokuMX.
Most notably, MongoDB v3 includes a storage engine API that can be used to create new, “pluggable” storage engine options for MongoDB; and that MongoDB itself is using it to integrate the WiredTiger storage engine technology they recently acquired when they acquired the company that developed it (also called WiredTiger).
Here’s some food for thought, with links to additional reading on each point.
- As previously discussed in a previous blog post, Tokutek will offer a “pluggable storage engine” that is compatible with the new MongoDB APIs. It will be built with the very same Fractal Tree indexing libraries that underpin TokuMX and TokuDB (i.e., new product, but proven technology). It will be called TokuMXse
- Tokutek will continue to offer TokuMX (think of it as the bigger & broader sibling to TokuMXse) as this fork of MongoDB includes much more than Fractal Tree indexing. In other words, The MongoDB storage engine API takes us (and everyone else) only so far.
- It’s important to understand the WiredTiger storage engine supports two indexing models: 40-year-old B-tree and the more modern Log-Structure Merge Trees (LSM). However, in the 3.0 release MongoDB will support only B-tree indexing. Therefore, TokuMX (and/or TokuMXse) will continue to outperform basic MongoDB.
<a rel="nofollow" href="/blog/wp-content/uploads/2015/02/iibench-tps-se-shootout-01-all-oplog-off.png"><img class="alignnone wp-image-8913" src="/blog/wp-content/uploads/2015/02/iibench-tps-se-shootout-01-all-oplog-off.png" alt="iibench-tps-se-shootout-01-all-oplog-off" width="647" height="485" /></a>
(Courtesy Acme Benchmarking)
- Even when MongoDB adds support for WiredTiger with LSM (later this year, or early 2016) TokuMXse will still have a number of important advantages. They are discussed in a white paper we offer on the topic.
- MongoDB 3.0 supports Collection-level Locking, a big step forward from the previous Database-level locking limitation, but still far short of the Document-level locking supported in TokuMX from day one.
The NoSQL marketplace is growing like crazy, and like MongoDB, Inc., Tokutek continues to enjoy success riding the same rising tide (albeit at the smaller / high-end of that market, where Big Data and IoT workloads come into play).
And, as MongoDB evolves, so will TokuMX (& TokuMXse).
Exciting times ahead.
Remember, MongoDB v3.0 is the release formerly known as MongoDB v2.8. Wherever you see “MongoDB 2.8” read it as “MongoDB 3.0.”
Feel free to comment or ask questions here on TokuView, and/or share your thoughts with me on Twitter via @dcrosenlund