Taking a database offline to update the schema can be too time consuming in today's fast paced environments, said Lawrence Schwartz, Tokutek director of marketing. For organisations, "information is coming in at extremely high volume. Being able to ingest all that data and analyse it in real time is what we're addressing," Schwartz said.
TokuDB is a storage engine that can replace MySQL's default storage engine, InnoDB. It also works with the MariaDB database.
Version 5.0 of Tokutek's TokuDB storage engine offers two new features that the company claims can speed database performance: hot indexing and hot column addition and deletion.
With hot indexing, the software can index an operational database, allowing organisations to build targeted queries or revise a data model on the fly. With hot column addition or deletion, database administrators can add columns or remove columns while the database is still running.
In order to execute these actions with an unmodified MySQL, the database must be stopped to apply the changes, then restarted, Schwartz explained.
"With this new version, it is not necessary to schedule downtime or switchover from a primary to a secondary server to add new columns or indexes," said Sheeri Cabral, database operations manager at MySQL hosting service PalominoDB. "Business analysts will not have to wait hours or days for a new index to make their queries faster and release engineers will breathe a sigh of relief if a new column needs to be added."
Tokutek markets TokuDB for organisations that need to run queries against high volume applications, such as financial transactions or logfile analysis.
TokuDB uses fractal tree indexing, a technique optimised for speedy index insertion. Unlike binary tree (b-tree) indexing used by InnoDB and other storage engines, fractal tree indexing bundles the data that needs to be written to the database, reducing the amount of time the disk drive controller may take storing away individual entries around the disk drive. Fractal tree also avoids the fragmentation problems inherent in b-tree indexing, which can slow database performance, Schwartz argued.
"It allows you to index tons of information in very, very high speeds," Schwartz said.
Using TokuDB requires no changes at the application level, and, like traditional storage engines, maintains all the ACID (atomicity, consistency, isolation, durability) and MVCC (multiversion concurrency control) requirements for proper databases.