The PBXT Storage Engine: Meeting Future Challenges – Paul McCullagh

22 avril 2009 par pébé

Je connais Paul depuis maintenant quelques années, quand PBXT était seulement un petit projet qu’il avait commencé tout seul en parallele de son activité principale. 3 ans après, PBXT est un moteur de stockage qui concurrence InnoDB. Il va nous présenter l’histoire de PBXT, les challenges qu’il a dû remplir et les prévisions sur l’avenir.

PBXT est disponible pour MySQL, MariaDB et Drizzle.

Les challenges

  • CPU – Le nombre de coeurs augmente mais la vitesse reste stable
  • Plus de CPU -> plus de contention
    • minimize les mutex
    • segmentation
    • read lock
    • atomic
    • bus contention
  • SSD – no seek time
    • le cluster des data n’est plus essentiel

Les Bases – un record avec une taille fixe + un record avec une taille variable
Les performances de la dernière version de PBXT ( 1.0.8 ) sont aussi bonnes que celle d’InnoDB avec 16 threads en parallele. Qu’est qui à changé?

  • moins de pauses ( 0.1s pour acceder à une ressource )
  • memcpy supprimé pour les index cache
  • memcpy évité pour les index scans
  • les updates des index sont effectués en parallele

Comment optimiser?

  • connaître l’ennemi – connaître le jeu de test
  • savoir où partitionner
  • ré écrire les parties ou un conflit existe

Les nouveautés – Memory resident table basé sur le fait que 10% des clients de MySQL utilisent le moteur MEMORY pour leurs applications

PS: Tiens je viens d’apprendre un truc – Même si le Query cache est désactivé, il y a quand même un LOCK sur la table… intéressant.

Les objectifs:

  • réplication au niveau du moteur de stockage
  • synchronisation de la réplication
  • réplication bi directionnelle

les liens:

  • http;//www.primebase.org
  • https://launchpad.net/pbxt
  • http://pbxt.blogspot.com

En résumé, ce moteur à l’air brillant, je vais passer plus de temps à le tester.

Mots-clefs :

Laisser une réponse