Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MySQL: Has anyone used the TokuDB storage engine?

Has anyone used the TokuDB storage engine for MySQL?

The product web site claims to have a 50x performance increase over other MySQL storage engines (e.g. Innodb, MyISAM, etc). Here are the performance claims http://tokutek.com/downloads/tokudb-performance-brief.pdf

Is this true?

Any personal experiences with this storage engine in use with MySQL?

like image 537
Timmyboy Avatar asked Nov 17 '09 05:11

Timmyboy


2 Answers

If you are storing blobs such as images then don't use tokudb. It has a smaller row size limit.

If you have data that's over 100 million rows, use tokudb.

If you are sensitive to UPDATE speed, don't use tokudb. It has very fast insert but as compared to innodb, slower UPDATE speed and especially if you use INSERT ON DUPLICATE statements.

If you are storing log entries, use tokudb.

If you want to shrink your myisam/innnodb's data usage by more than 5x, then use tokudb. I have personally confirmed that their fractal tree + compression data backend is extremely space efficient.

Rule of thumb, use the best tool for the job. Tokudb blows innodb and myisam out of the waters in specific situations but is not a general replacement db engine for everything under the sky.

like image 50
Xing Avatar answered Oct 31 '22 18:10

Xing


Although TokuDB is slow on UPDATE as commented above, it is extremely fast on REPLACE. Usually you can substitute UPDATEs with REPLACE INTO instead. I use TokuDB on tables of up to 18 Billion rows and nothing else comes close, it's at least 100 times faster than innodb for random inserts on big tables.

like image 38
chris14679 Avatar answered Oct 31 '22 16:10

chris14679