Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , reacties: 9, views: 11.240 •

De firma Tokutek heeft TokuDB versie 7, een high performance storage engine voor MySQL en MariaDB, vrijgegeven onder een opensource-licentie. Tot nu toe was TokuDB, dat flinke prestatiewinsten bij het opvragen van bepaalde queries zou opleveren, nog propriëtaire software.

TokuDB, dat geschikt is voor zowel MySQL als MariaDB en oorspronkelijk werd ontwikkeld door een aantal Amerikaanse universiteiten, maakt gebruik van een zogeheten fractal tree engine, een algoritme dat bij databases met veel schrijfacties prestatiewinsten kan behalen door slimme caching. Volgens Tokutek, de huidige ontwikkelaar van de storage engine, zijn bij bepaalde queries snelheidswinsten met een factor twintig tot tachtig haalbaar.

De ontwikkelaar heeft nu besloten om TokuDB versie 7 onder een GPLv2-licentie vrij te geven. Het bedrijf, dat al langer nauwe banden onderhield met de opensource-gemeenschap, wil voortaan geld verdienen door ondersteuning voor de Enterprise-editie van TokuDB te bieden, evenals aanvullende software en diensten voor met name bedrijven.

Mozilla is met zijn Datazilla-platform een van de gebruikers van TokuDB. De Firefox-ontwikkelaar denkt dat TokuTek met zijn zet om TokuDB vrij te geven voor MySQL- en MariaDB-gebruikers ervoor zal zorgen dat zijn storage engine veel breder ingezet zal gaan worden. Ook vanuit Oracle, eigenaar van MySQL, en de MariaDB-gemeenschap klinken positieve geluiden nu de broncode van TokuDB voor iedereen toegankelijk is geworden, zo schrijft H-online.

Reacties (9)

Hoe verhoudt deze engine zich tot bijvoorbeeld de Aria engine in MariaDB? Voor mij biedt de Aria engine het beste van zowel InnoDB en MyISAM. Biedt TokuDB een nog betere performance?
Geen MariaDB, maar versus InnoDB hebben ze wel benchmarks. Behoorlijk stoere cijfers, maar het blijft een vendor benchmark, achterdocht is aanbevolen.

Die fractal indexen van ze zien er ook goed uit, die lijken inderdaad een aantal klassieke problemen van B-trees te ondervangen. Mooie aanwinst, dit.
Volgens Tokutek, de huidige ontwikkelaar van de storage engine, zijn bij bepaalde queries snelheidswinsten met een factor twintig tot tachtig haalbaar.
Iemand een voorbeeld van zo'n query. Zal vast geen simpele select of insert/update zijn ?

[Reactie gewijzigd door floorcula op 22 april 2013 19:32]

Voor sommige scenario's is TokuDB een interessant alternatief voor InnoDB. Het werkt alleen (nog) niet zo goed out-the-box zoals MyISAM en InnoDB.
http://www.pythian.com/bl...smaller-for-large-tables/

[Reactie gewijzigd door Danot op 22 april 2013 19:34]

klinkt allemaal leuk dit, maar als ik dat artiekel probeer te lezen dan het het voor een niet-database expert nog steeds lasitg om die perciese voorbeelden vast te pakken...

het enige wat ik er uit meen op te maken is dat dit vooral geschikt is voor relatief simpele databases met vooral HEEL veel data met weinig velden?
klinkt allemaal leuk dit, maar als ik dat artiekel probeer te lezen dan het het voor een niet-database expert nog steeds lasitg om die perciese voorbeelden vast te pakken...

het enige wat ik er uit meen op te maken is dat dit vooral geschikt is voor relatief simpele databases met vooral HEEL veel data met weinig velden?
Het zegt dat de TokoDB-engine vooral meerwaarde heeft bij tabellen met miljoenen rijen. Er wordt niks gezegd over de meerwaarde op kleine datasets. Dit artikel geeft aan dat het ook daar meerwaarde heeft alhoewel er ook met flinke datasets getest wordt.

Al met al een hele welkome aanvulling in the GPL v2 ecosystem.
Als je een database met miljoenen rijen hebt, is het sowieso slim design om het aantal velden laag te houden. Beter een tabel meer dan één hele brede tabel waar alles in gepropt zit.
Overigens maakt dat een datase niet "simpel", maar wel overzichtelijk.
Wat je er vooral uit op kunt maken is dat de opslag heel efficient is en dus ook i/o's daar erg van profiteren. De count-group by quey als 1 van de voorbeelden, dwingt een full table scan af. Deze performt 12x zo goed. Vervolgens zie je ook hoe efficient de engine is bij het optimalizeren van de tabel. Allemaal tekenen dat er geen loze i/o's plaatsvinden.
Ik ben zelf bezig met implementatie van TokuDB ipv. MyISAM. Een voordeel is snelheid bij (zeer) grote datasets, dat is goed te merken. Een ander groot voordeel is het hot maken van indexes, scheelt veel downtime op de productie db, dat vind ik persoonlijk het meeste interessante.

Op dit item kan niet meer gereageerd worden.