Architecture MySQL et moteur de stockage
1.1 Définir la base de données et l'instance
Base de données : frm, MYD, MYI, ibd, fichiers se terminant par, lors de l'utilisation du moteur NDB , le fichier de base de données est placé en mémoire
Exemple : composé de threads d’arrière-plan et de mémoire partagée. La mémoire partagée peut être exécutée en arrière-plan, prête à être partagée, et l'instance de base de données est ce qui fait réellement fonctionner la base de données.
La relation entre les instances et les bases de données est une correspondance biunivoque.
MySql est une base de données architecture multithread à processus unique, et l'instance se comporte comme un processus dans le système.
Il est similaire au fichier de paramètres d'Oracle spfile, mais contrairement à Oracle, s'il n'y a pas de fichier de paramètres, la base de données échouera au démarrage de l'instance.
1.2 Composition MySQL :
Composant de pool de connexions
Composants des services et outils de gestion
composant d'interface SQL
Composant analyseur de requêtes
Optimiser les composants
Composant de cache
Moteur de stockage plug-in
fichier physique
Le moteur de stockage est basé sur une structure de table et non sur une base de données
1.3Moteur de stockage MySQL
Interface de moteur de stockage prédéfinie Mysql pour écrire votre propre moteur de stockage
Moteur de stockage InnoDB
Prend en charge les choses.L'objectif de conception est principalement destiné aux applications de traitement de transactions en ligne.Il se caractérise par une conception de verrouillage de ligne, prend en charge les clés étrangères et prend en charge les lectures non verrouillables similaires à Oracle.Par défaut, les opérations de lecture et d'écriture ne généreront pas de verrous.
Placée dans un espace table logique, la table du moteur de stockage est placée dans un fichier ibd indépendant.
Pour le stockage dans le tableau, une approche d'agrégation est adoptée
Moteur de stockage MyISAM
Ne prend pas en charge les choses, la conception des tableaux, prend en charge le texte intégral index . Pour certaines applications de base de données OLAP
Le pool de mémoire tampon met simplement en cache certains fichiers d'index et ne met pas en mémoire tampon les fichiers de données
La table moteur est composée de MYD et MYD est utilisé pour stocker les fichiers de données, et MYI est utilisé pour stocker les fichiers d'index. Vous pouvez utiliser l'outil myismpack pour compresser davantage les fichiers.
Moteur NDB
Il s'agit d'un moteur de stockage en cluster. Sa structure est une structure de cluster notant le partage. Toutes les données sont placées dans la mémoire et la vitesse de recherche de clé primaire est extrêmement rapide.
Et en ajoutant des nœuds de stockage de données NDB, les performances de la base de données sont améliorées de manière linéaire, créant ainsi un système de cluster hautement disponible et performant.
Moteur de mémoire
Les données de la table sont stockées en mémoire. Si la base de données est redémarrée ou tombe en panne, toutes les données de la table disparaîtront. Convient pour stocker des tables temporaires
Par défaut, un index de hachage est utilisé, pas un index d'arborescence B+.
Seuls les verrous de table sont pris en charge et les performances de concurrence sont relativement médiocres.
Moteur de stockage d'archives
Utilisez l'algorithme zlib pour la compression et le stockage. Très approprié pour stocker des données excessives, telles que des informations de journal
Utiliser des verrous de ligne pour implémenter des opérations d'insertion hautement concurrentes
Fournit principalement des fonctions d'insertion et de compression à grande vitesse.
Moteur de stockage fédéré
La table moteur ne stocke pas de données, mais pointe uniquement vers un serveur de base de données MySQL. Elle ne prend pas en charge les tables de bases de données hétérogènes.
Moteur de stockage Maria
Remplace le moteur de stockage MyiSAM d'origine et devient le moteur par défaut de Mysql
Prend en charge les données mises en cache et les fichiers d'index, applique la conception de verrouillage de ligne, fournit la fonction MVCC, prend en charge les options de sécurité transactionnelles et non transactionnelles.
Interrogez les moteurs de stockage pris en charge par la base de données MySQL via Show Engines
1.4 Connecter Mysq
Il s'agit d'un processus de connexion qui communique avec l'instance de base de données Mysql.
Méthodes de communication couramment utilisées : canaux, canaux nommés, noms nommés, sockets TCP/IP, sockets de domaine UNIX
TCPIP :
mysql -h192.168.0.0.1 -u david -p
Mysql vérifiera une vue des autorisations pour déterminer si l'adresse IP demandée est autorisée à se connecter à l'instance Mysql. La table est utilisateur.
Canaux nommés et mémoire partagée
Démarrez --enable>name-pipe dans mysqlfichier de configuration
Fournissez de la mémoire partagée, dans le fichier de configuration, ajoutez l'implémentation --shard-Memory
Prise UNIX
mysql -udavid -S /tmp/mysql.sock
[Recommandations associées]
1. Tutoriel vidéo en ligne MySQL gratuit
2. Dernier tutoriel manuel MySQL
.3. Choses sur la conception de bases de données
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!