Maison  >  Article  >  base de données  >  Explication détaillée de la structure globale de MySql

Explication détaillée de la structure globale de MySql

coldplay.xixi
coldplay.xixiavant
2021-04-08 09:59:162294parcourir

Explication détaillée de la structure globale de MySql

Structure globale de MySql

MySQL comprend un pool de connexions, une interface SQL, un analyseur, un optimiseur, un cache et un moteur de stockage , etc., peuvent être divisés en trois couches, à savoir la couche MySQL Server, la couche moteur de stockage et la couche système de fichiers. La couche MySQL Server comprend la couche de connexion et la couche SQL. Voici le schéma d'infrastructure de MySQL dans la documentation officielle :

Explication détaillée de la structure globale de MySql

Dans la figure ci-dessus, le pool de connexions est la couche de connexion, les services et utilitaires de gestion... Caches et tampons sont la couche SQL, et les moteurs de stockage enfichables sont la couche du moteur de stockage, et le système de fichiers, les fichiers et les journaux sont la couche du système de fichiers.

Les connecteurs n'appartiennent à aucune des couches ci-dessus. Les connecteurs peuvent être compris comme divers clients et services d'application, faisant principalement référence à l'interaction entre différents langages et SQL.

Recommandations d'apprentissage gratuites associées : Tutoriel vidéo MySQL

Couche de connexion

L'application se connecte à MySQL via des interfaces (telles que ODBC, JDBC), et le premier traitement de connexion est la couche de connexion. La couche de connexion comprend trois parties : le protocole de communication, le traitement des threads et l'authentification par nom d'utilisateur et mot de passe.

    Le protocole de communication se charge de détecter si la version client est compatible avec le serveur MySQL.
  • -Le traitement des threads signifie que chaque demande de connexion se verra attribuer un thread correspondant, ce qui équivaut à un SQL correspondant à un thread, un thread correspondant à un processeur logique et à la commutation entre plusieurs processeurs logiques.
    - L'authentification par mot de passe est utilisée pour vérifier le compte, le mot de passe créé par l'utilisateur et si l'autorisation de l'hôte hôte peut se connecter au serveur MySQL.
Connection Pool appartient à la couche de connexion. Comme l'établissement d'une connexion prend beaucoup de temps à chaque fois, le rôle du pool de connexions est de mettre en cache les connexions utilisateur, les noms d'utilisateur, les mots de passe, la vérification des autorisations, le traitement des threads et d'autres besoins qui doivent être mis en cache la prochaine fois. utiliser directement la connexion établie. Améliorer les performances du serveur.

2. Couche SQL

La couche SQL est le cœur de MySQL et les services de base de MySQL sont implémentés dans cette couche. Il comprend principalement le jugement des autorisations, le cache de requêtes, l'analyseur, le prétraitement, l'optimiseur de requêtes, le cache et le plan d'exécution.

    Le jugement d'autorisation peut vérifier si l'utilisateur est autorisé à accéder à une certaine bibliothèque, à une certaine table ou à une certaine ligne de données dans la table.
  • Le cache de requêtes fonctionne via le cache de requêtes. Si les données se trouvent dans le cache de requêtes, les résultats sont renvoyés directement au client sans avoir besoin d'analyser, d'optimiser et d'exécuter les requêtes.
  • L'analyseur de requête analyse l'instruction SQL pour déterminer si la syntaxe est correcte.
  • Le préprocesseur gère la sémantique que l'analyseur ne peut pas analyser.
  • L'optimiseur de requêtes réécrit et optimise le SQL en conséquence, et génère le plan d'exécution optimal. Il peut ensuite appeler l'interface API du programme et accéder aux données via la couche moteur de stockage.
Management Services & Utilities, SQL Interface, Parser, Optimizer et Caches & Buffers appartiennent à la couche SQL, les détails sont indiqués dans le tableau suivant.

3. Couche du moteur de stockage

Les moteurs de stockage enfichables appartiennent à la couche du moteur de stockage. La couche du moteur de stockage est le point central qui distingue la base de données MySQL des autres bases de données, et c'est également l'endroit le plus distinctif de MySQL. Principalement responsable du stockage et de la récupération des données dans MySQL.

Parce que dans une base de données relationnelle, les données sont stockées sous forme de table, le moteur de stockage peut également être appelé type de table (c'est-à-dire le type de stockage et de fonctionnement de cette table

).

4. Couche du système de fichiers

La couche du système de fichiers stocke principalement les données de la base de données sur le système de fichiers du système d'exploitation et complète l'interaction avec le moteur de stockage.

La couche système de fichiers stocke principalement les données de la base de données sur le système de fichiers du système d'exploitation et complète l'interaction avec le moteur de stockage.

Plus de recommandations d'apprentissage gratuites connexes : tutoriel MySQL(vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer