Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. MySQL Cluster — Wikipédia
MySQL Cluster — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Structure d'une grappe de serveurs MySQL.

MySQL Cluster est la base de données distribuée de MySQL. Elle permet de répartir des données sur plusieurs serveurs sans avoir de point individuel de défaillance. Contrairement aux moteurs MyISAM et InnoDB généralement utilisés avec MySQL, l'exploitation effective du cluster nécessite l'utilisation du moteur NDB, qui contient plusieurs restrictions, comme l'absence d'index FULLTEXT.

Fonctionnalités

[modifier | modifier le code]

MySQL est capable, depuis la version 4.1 et grâce au moteur de stockage NDB de gérer une grappe de serveurs complète. Sa structure repose sur la duplication de données, c'est-à-dire que chaque nœud fera partie d'un groupe de nœuds qui posséderont tous la totalité de la base[1].

Un protocole implémenté dans chaque nœud s'occupe d'adresser chaque transaction aux différents nœuds concernés dans la grappe, il faut un minimum de 2 machines pour établir une solution de clustering MySQL et une machine (qui peut elle-même intégrer un serveur MySQL) qui va jouer le rôle de répartiteur de charge en redirigeant les requêtes sur les nœuds disponibles et les moins occupés.

Les requêtes de recherches (SELECT) seront plus rapides, mais lors d'une modification des données (une requête UPDATE, DELETE ou INSERT par exemple), celle-ci sera effectuée sur l'ensemble des nœuds, ce qui bloquera l'ensemble de la grappe pendant l'opération.

Par rapport à un système de réplication, la redondance est améliorée : si un nœud tombe en panne, sa charge est automatiquement reprise par les autres nœuds.

L'ajout d'un nouveau nœud peut se faire sans avoir besoin de repartitionner la base, il suffit de le faire reconnaître par la grappe et de ne redémarrer que le nouveau nœud.

Du point de vue de MySQL, chaque nœud fait partie d'un ensemble qui pourra être reconnu comme une seule machine. Pour cela, il faudra configurer l'application pour communiquer avec le répartiteur de charge.

Cette solution s'adapte parfaitement lorsque la disponibilité et la sécurité des données est un problème critique et que l'on recherche un partitionnement technique responsable de l'écriture. Couplé à des fonctionnalités temps réelles et à une API de programmation asynchrone, NDB Cluster s'adresse principalement aux exigences du marché des télécommunications.

Architecture

[modifier | modifier le code]

MySQL Cluster a plusieurs concepts importants derrière sa conception.

Réplication

[modifier | modifier le code]

MySQL Cluster utilise la réplication synchrone par un mécanisme de commit à deux phases pour garantir que la donnée est copiée sur plusieurs serveurs lors du commit (validation). Ceci contraste avec ce qui est généralement effectué avec la Réplication MySQL Master/Slave, qui est asynchrone[2]. Deux copies, appelées répliques, des données sont requises pour garantir la disponibilité. Toutefois, le cluster peut être configuré pour stocker une ou plusieurs copies simultanément.

Depuis MySQL 5.1, il est également possible de mettre en place une réplication asynchrone entre plusieurs clusters. Cette technique est généralement appelée MySQL Cluster Replication ou Réplication géographique[3].

Horizontal Data Partitioning

[modifier | modifier le code]

Les données des tables NDB sont automatiquement partitionnées sur l'ensemble des nœuds de données du système. Ceci est effectué par un algorithme de hashage basé sur la clef primaire de la table et est transparente pour l'application qui l'utilise.

Depuis la version 5.1, les utilisateurs peuvent définir leurs propres schémas de partitionnement.

Stockage hybride

[modifier | modifier le code]

MySQL Cluster peut stocker les données soit en mémoire, soit sur le disque. Toutes les données et les index peuvent être stockés en mémoire en écrivant les données sur le disque de manière asynchrone. La réplication décrite ci-dessus permet d'effectuer cette transaction de manière sûre.

Pas de point unique de défaillance

[modifier | modifier le code]

MySQL Cluster est conçue de manière à n'avoir aucun point unique de défaillance. En supposant que le cluster soit configuré correctement, chaque nœud, système ou partie matérielle peut tomber en panne sans altérer la disponibilité du cluster. Les disques partagés ne sont pas nécessaires. Les connexions entre les nœuds peuvent s'effectuer par le standard Ethernet.

Implémentation

[modifier | modifier le code]

MySQL Cluster utilise trois différents types de nœuds :

  • Data node (processus ndbd) : ces nœuds contiennent les données des tables NDB.
  • Management node (processus ndb_mgmd) : utilisé pour la configuration et la supervision du cluster. Ils ne sont nécessaires que pour le démarrage d'un autre nœud (Data node ou SQL node).
  • SQL node (processus mysqld) : Un serveur MySQL tel qu'utilisé sur un serveur MySQL classique. Il se connecte aux Data nodes pour le stockage et la lecture des données.

Voir aussi

[modifier | modifier le code]
  • Site officiel de MySQL Cluster

Notes et références

[modifier | modifier le code]
  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « MySQL Cluster » (voir la liste des auteurs).
  1. ↑ « MySQL :  : MySQL 5.0 Reference Manual :  : 16.1 Présentation de MySQL Cluster », sur mysql.com via Wikiwix (consulté le 27 juin 2023).
  2. ↑ MySQL Replication
  3. ↑ MySQL Cluster Replication
v · m
MySQL et MariaDB
Editions
  • MySQL
  • MySQL Enterprise (en)
  • MySQL Cluster
Outils
  • Adminer
  • MySQL Workbench
  • SQLyog
  • phpMyAdmin
  • HeidiSQL
  • Navicat
  • DBeaver
  • Database Workbench (en)
Moteurs de stockage
  • MyISAM
  • Falcon (en)
  • InnoDB
  • XtraDB (en)
  • Federated
  • MySQL Archive (en)
  • Aria (en)
  • TokuDB (en)
  • MyRocks (en)
Langage procédural
  • MySQL Stored Procedures (en) (a variant of SQL/PSM (en) Standard)
Produits forkés
  • Drizzle (en)
  • MariaDB
  • Percona Server (en)
  • WebScaleSQL (en)
  • icône décorative Portail des logiciels libres
  • icône décorative Portail des bases de données
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=MySQL_Cluster&oldid=205519139 ».
Catégories :
  • Système de gestion de base de données
  • MySQL
Catégories cachées :
  • Article contenant un appel à traduction en anglais
  • Portail:Logiciels libres/Articles liés
  • Portail:Logiciel/Articles liés
  • Portail:Informatique/Articles liés
  • Portail:Bases de données/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id