Quels sont les avantages de l'utilisation de MySQL Cluster?

15

Je n'ai jamais plongé mes mains dans MySQL Cluster et je veux savoir comment cela peut me bénéficier. Quand est-il préférable de l'utiliser et présente-t-il des avantages en termes de performances?

RPK
la source

Réponses:

5

MySQL Cluster est conçu autour de 3 principes fondamentaux:

  • Haute disponibilité (rien partagé, réplication locale et géographique, battements cardiaques intégrés, basculement automatisé et récupération auto-cicatrisante, etc.)

  • Évolutivité en écriture et performances en temps réel (partitionnement automatique, optimisations en mémoire, etc.)

  • Plusieurs interfaces de base de données (SQL et NoSQL)

Ceux-ci sont discutés plus en détail dans le document suivant (note, inscription requise): http://mysql.com/why-mysql/white-papers/mysql_wp_scaling_web_databases.php

La localisation de requête adaptative est une fonctionnalité de la version de développement actuelle de MySQL Cluster 7.2 et améliore rapidement les performances des opérations JOIN en les poussant vers les nœuds de données, réduisant ainsi considérablement le trafic réseau - pour répondre au point soulevé par Rolando ci-dessus. Vous pouvez en savoir plus à ce sujet ici: http://dev.mysql.com/tech-resources/articles/mysql-cluster-labs-dev-milestone-release.html

MySQL Cluster est sous licence GPL et peut être téléchargé depuis dev.mysql.com, avec une aide en ligne via les forums: forums.mysql.com/list.php?25

Mat Keep
la source
1
Hé @Mat, merci de vous concentrer sur le côté positif de MySQL Cluster. Les avantages et les inconvénients doivent être mis en évidence. J'ai déjà fait le contre. Vous avez fait les pros. De cette façon, l'expérience des récompenses, des joies, des chagrins et des angoisses de MySQL Cluster est totalement à la discrétion de ceux qui décident de mettre en œuvre son utilisation. Même s'il s'agit de GPL, le principe s'applique toujours: LAISSEZ L'ACHETEUR PRENDRE GARDE. +1 pour votre réponse.
RolandoMySQLDBA
1
Salut Rolando - thx pour votre avis. Comme vous le faites remarquer, chaque technologie a ses cas d'utilisation - certaines sont bien adaptées à MySQL Cluster, d'autres non. Cette partie de la documentation MySQL compare InnoDB (le moteur de stockage MySQL par défaut) à MySQL Cluster et peut aider à identifier quoi utiliser quand et où: dev.mysql.com/doc/refman/5.1/en/mysql-cluster-compared.html
Mat Keep
5

Lorsque je voulais obtenir des informations sur MySQL Cluster , MySQL (avant que Sun ne l'achète) envoyait un bref questionnaire, que j'aurais aimé avoir encore. L'une des questions demandait si vos tables n'avaient que des clés entières.

Bien que MySQL Cluster soit conforme à ACID, il ne fournit pas de moteur de stockage approprié pour les données avec des clés composées. À certains égards, vous devez planifier son utilisation comme celle d'un MongoDB ou Cassandra en termes de mise en page et de partage des données.

Vous devez également considérer la partie la plus ennuyeuse de MySQL Cluster: la communication réseau. Le cluster NDB a tendance à être bavard entre les serveurs. Même Gig-E peut être mis à genoux si vous effectuez des requêtes de plage ou des analyses de table complètes. Vous devez être suffisamment discipliné pour utiliser des clés primaires et des clés uniques, surtout si votre application se développe sur de telles clés.

À moins que vous ne respectiez ces simples observations, MySQL Cluster fera beaucoup plus de mal que de bien.

RolandoMySQLDBA
la source
> "il ne fournit pas de moteur de stockage approprié pour les données avec des clés composées" @RolandoMySQLDBA, pourquoi? Je ce problème, et je voudrais savoir quelques solutions de contournement.
xer0x