TokuDB

From Wikipedia, the free encyclopedia
Jump to: navigation, search
TokuDB
Developer(s) Tokutek
Stable release 7.1.0 / October 14, 2013
Type Database engine
License Modified GNU General Public License (version 2) [1] or proprietary EULA
Website http://www.tokutek.com/

TokuDB is a storage engine for MySQL and MariaDB that is specifically designed for high performance on write-intensive workloads. It achieves this via Fractal Tree indexing. TokuDB is a scalable, ACID and MVCC compliant storage engine that provides indexing-based query improvements, offers online schema modifications, and reduces slave lag for both hard disk drives and flash memory.

A Community Edition of TokuDB was released under a modified GNU General Public License in April 2013.[2]

Fractal tree indexes[edit]

Overview[edit]

TokuDB uses Fractal Tree indexes, which are based on cache-oblivious algorithm. Fractal Tree indexes implement the same operations as a B-tree, and thus are a drop-in replacement for B-trees. Fractal Tree indexes effectively replace small, frequent writes with larger, less frequent ones, which enables better compression and insertion performance. Fractal Trees also allow for messages to be injected into the tree in such a fashion that schema changes (such as adding or dropping a column, or adding an index) can be done online and in the background. [3] As a result, more indexes can be maintained without a drop in performance. This is because adding data to indexes tends to stress the performance of B-trees, but performs well in Fractal Tree indexes [4]

Uses[edit]

Fractal Tree indexes can be applied to a number of applications characterized by near-real time analysis of streaming data. They can be used as the storage layer of a database or as the storage layer of a file system. When used in a database, they can be used in any setting where a B-tree is used, with improved performance. Examples include: network event management, online advertising networks, clickstream analytics, and air traffic control management. [5] Other uses include accelerated crawler performance for search engines for social media sites. It can also be used to create indexes and columns online, enabling query flexibility for e-commerce personalization. It is also suited to improving performance and reducing existing loads on transactional websites. In general it performs well in applications that must simultaneously store log file data and execute ad hoc queries.

Origins[edit]

This approach to building memory-efficient systems was originally jointly developed by researchers at the Massachusetts Institute of Technology,[6][7] Rutgers University,[8] and the State University of New York at Stony Brook (SUNY).[9]

Role on the Big Data market[edit]

TokuDB is one of the technologies that enable Big Data in MySQL. [10] Tokutek was a Startup Showcase Finalist at the O'Reilly Strata Conference on Big Data. [11]

See also[edit]

References[edit]

  1. ^ "TokuDB README". Retrieved 2013-04-22. 
  2. ^ "Announcing TokuDB v7: Open Source and More". Retrieved 2013-04-22. 
  3. ^ "Covering Indexes: Orders-of-Magnitude Improvements". Percona. Retrieved 2011-01-17. 
  4. ^ "Detailed review of Tokutek storage engine". Percona. Retrieved 2012-02-22. 
  5. ^ "Air traffic queries in MyISAM and Tokutek (TokuDB)". MySQL Performance Blog. Retrieved 2011-01-17. 
  6. ^ "How TokuDB Fractal Tree Databases Work". O'Reilly. Retrieved 2011-01-17. 
  7. ^ "Cache-Oblivious Search Trees Project". Massachusetts Institute of Technology. Retrieved 2011-01-17. 
  8. ^ "Cache-Oblivious B-trees". Rutgers University. Retrieved 2011-01-17. 
  9. ^ "Cache Oblivious B-trees". State University of New York (SUNY) at Stony Brook. Retrieved 2011-01-17. 
  10. ^ "Big Data is Creating The Future - It's A $50 Billion Market". Forbes. Retrieved 2012-05-21. 
  11. ^ "Strata 2012 Startup Showcase". O'Reilly. Retrieved 2012-05-21. 

External links[edit]