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 : MySQL Conference