2009-11-17 26 views
15

Est-ce que quelqu'un a utilisé le TokuDB storage engine pour MySQL? Le site Web du produit prétend avoir une augmentation de performance de 50x par rapport aux autres moteurs de stockage MySQL (par exemple, Innodb, MyISAM, etc.). Voici les revendications de performance http://tokutek.com/downloads/tokudb-performance-brief.pdfMySQL: Quelqu'un at-il utilisé le moteur de stockage TokuDB?

Est-ce vrai?

Des expériences personnelles avec ce moteur de stockage en cours d'utilisation avec MySQL?

Répondre

26

Si vous stockez blobs tels que des images alors ne pas utiliser tokudb. Il a une limite de taille de ligne plus petite.

Si vous avez des données de plus de 100 millions de lignes, utilisez tokudb.

Si vous êtes sensible à la vitesse de mise à jour, n'utilisez pas tokudb. Il a une insertion très rapide mais par rapport à innodb, une vitesse UPDATE plus lente et surtout si vous utilisez des instructions INSERT ON DUPLICATE.

Si vous stockez des entrées de journal, utilisez tokudb.

Si vous souhaitez réduire l'utilisation de vos données myisam/innnodb de plus de 5x, utilisez tokudb. J'ai personnellement confirmé que leur backend fractal tree + compression est extrêmement efficace.

Règle générale, utilisez le meilleur outil pour le travail. Tokudb souffle innodb et myisam hors des eaux dans des situations spécifiques mais n'est pas un moteur de remplacement général pour tout sous le ciel.

+4

Entièrement d'accord. Nous avons trois bases de données - deux d'environ 1,5 To et une de 40 Go. Nous avons déplacé les deux grands fichiers vers TokuDB et nous avons été époustouflés - nous voyons plus de 15k requêtes par seconde (dont la moitié est des insertions/mises à jour) sur un matériel assez ordinaire. Ajoutez la maintenance de schéma en ligne (ajout de colonne/drops, création d'index/drops) et cela a été phénoménal. Cela dit, @Xing a raison d'utiliser le bon outil pour le travail - nous avons laissé la plus petite base de données sur InnoDB, car nous avons constaté qu'elle fonctionne mieux pour les petites charges de travail. Nous avons exécuté TokuDB dur dans la production pendant 6 mois, et n'avons eu aucun problème. –

7

Bien que TokuDB soit lent sur UPDATE comme indiqué ci-dessus, il est extrêmement rapide sur REPLACE. Habituellement, vous pouvez substituer UPDATEs avec REPLACE INTO à la place. J'utilise TokuDB sur des tables de jusqu'à 18 milliards de lignes et rien d'autre ne se rapproche, c'est au moins 100 fois plus rapide que innodb pour les insertions aléatoires sur les grandes tables.

+2

qu'en est-il des sélections? –

+5

Un remplacement en gros de UPDATES WITH REPLACE INTOS va presque certainement casser votre base de données - si la colonne REPLACE INTO manque certaines colonnes, elles seront réinitialisées à leur valeur par défaut! Imaginez si votre table a une colonne de comptage de référence qui doit conserver sa valeur - le REPLACE INTO le remettra à zéro. BOOM! – DroidOS