Dans cet article, vous obtiendrez des informations sur l’optimisation du stockage et des requêtes pour la base de données MySQL.
Conseils pour l’optimisation des bases de données SQL
Tout d’abord, nous devons comprendre les éléments qui occupent le stockage RDS. Il existe cinq types de stockage dans la console RDS, à savoir le stockage total sur disque, le stockage des données, le stockage des journaux, le stockage des fichiers temporaires et le stockage des fichiers système. Dans les sections suivantes, nous allons examiner quatre des cinq types de stockage qui sont généralement source de confusion pour les utilisateurs de RDS.
Meilleures pratiques pour l’optimisation du stockage de la base de données MySQL
- Fichiers de données : Les fichiers de données font référence aux fichiers stockés dans le stockage. Dans la base de données, ce sont des tables. Les tables sont principalement composées de données et d’index. Par conséquent, lorsque vous constatez que vos fichiers de données occupent une grande partie du stockage de l’instance, vous devez vérifier davantage quelle table est la plus responsable.
- Fichiers journaux : ApsaraDB for RDS MySQL utilise une architecture de haute disponibilité M-M maître/esclave. La synchronisation des données maître/esclave repose sur binlog. RDS sauvegardera régulièrement les logs vers OSS et effacera ensuite le binlog local pour diminuer l’espace qu’il occupe. Lorsque le stockage des journaux rencontre une erreur comme celle de la figure ci-dessous, le taux de croissance de binlog peut dépasser la vitesse de téléchargement de RDS vers OSS.
- Fichiers temporaires : Il s’agit de fichiers écrits de la mémoire vers le disque lorsque la base de données effectue des opérations sur des fichiers volumineux et que la mémoire s’avère insuffisante. Cela peut conduire à la création de fichiers temporaires importants lors d’opérations significatives de la base de données (order by, group by, distinct).
- Fichiers système : Il s’agit des fichiers créés lors de l’installation de la base de données. Ces fichiers système sont cruciaux pour le fonctionnement normal. Pour MySQL, ces fichiers comprennent ibdatal et ib_logfile0. Le graphique ci-dessous montre que les “autres fichiers” occupent une grande quantité d’espace. Dans cette situation, vous pouvez vous référer à comment localiser le problème à l’origine de la croissance continue d’ibdatal.
Comment optimiser les requêtes de données pour les bases de données de séries chronologiques ?
PostgreSQL peut optimiser les requêtes de données d’une bonne manière, et vous pouvez obtenir ici quelques conseils sur la façon d’optimiser les requêtes. La fusion et le nettoyage des données sont nécessaires dans de nombreux scénarios. Nous pouvons utiliser la requête fenêtre pour ce type d’opération, mais comment la rendre plus rapide et récupérer rapidement des données par lots ?
Voici un résumé rapide des méthodes courantes d’optimisation de l’interrogation de données en séquence temporelle :
La récursion est utilisée lorsqu’il y a peu de valeurs uniques et une plage inconnue.
Utilisez la sous-requête lorsque le nombre de valeurs uniques est relativement faible et que vous connaissez la plage spécifique des valeurs uniques. La requête de fenêtre est plus appropriée que la méthode ci-dessus lorsqu’il y a beaucoup de valeurs uniques. Cependant, le calcul en flux est encore meilleur dans les mêmes scénarios. PostgreSQL est le meilleur choix dans les bases de données open-source car il fournit plusieurs solutions aux mêmes problèmes. Il vous laisse libre de choisir la solution la plus appropriée pour vous et vos besoins individuels.
Comment sauvegarder et récupérer votre base de données SQL
La fiabilité des données est cruciale pour les entreprises, et nous allons voir ici comment sauvegarder et récupérer vos données dans SQL Server. Il existe trois modèles de récupération de base de données dans SQL Server.
1. Modèle de récupération simple :
Les journaux de transactions de la base de données sont effacés en même temps que l’opération de point de contrôle ou de sauvegarde afin de minimiser les journaux de transactions.
Toutes les transactions engagées sont effacées à la fin de l’opération de point de contrôle ou de sauvegarde, et seuls quelques journaux sont conservés, nécessaires à la récupération lorsqu’une instance redémarre. Ce modèle permet de minimiser les journaux de transactions de la base de données et l’utilisation du stockage, de réduire la surcharge de stockage et d’éliminer le besoin de DBA spéciaux pour maintenir et sauvegarder les journaux de la base de données.
2. Modèle de récupération complète :
Le modèle de récupération complète dans SQL Server est tout à fait à l’opposé du modèle de récupération simple. Cette section présente les quatre aspects suivants du modèle complet :
- principes de fonctionnement,
- scénarios d’application,
- paramètres
- exemples de scénarios.
Contrairement au modèle Simple, nous pouvons considérer le modèle Complet comme “Checkpoint without truncate log”, c’est-à-dire que le moteur de base de données SQL Server ne tronque pas les journaux de transactions. Par conséquent, par rapport aux bases de données utilisant le modèle Simple, les bases de données utilisant le modèle Complet ont des fichiers journaux de transactions qui augmentent plus rapidement et sont beaucoup plus volumineux. Ces fichiers journaux de base de données contiennent toutes les transactions récemment engagées jusqu’à ce qu’une sauvegarde du journal des transactions se produise et se termine avec succès.
3. Le modèle de récupération Bulk-Logged :
En tant que mélange des modèles de récupération Simple et Complet, le modèle Bulk-logged adapte et améliore l’opération Bulk Imports sous le modèle Complet. Dans un système de base de données SQL Server, une méthode appelée Bulk Imports est disponible pour importer rapidement des données, comme BCP, Bulk INSERT, et INSERT INTO…. SELECT. Si ces opérations Bulk sont effectuées dans une base de données sous le modèle Full, des quantités massives d’informations de journal sont générées, ce qui influence considérablement les performances de SQL Server sans pour autant avoir besoin de recourir à un dépannage informatique. Le modèle Bulk-logged est conçu pour résoudre ce problème. Lorsqu’une opération d’importation en masse est effectuée dans une base de données fonctionnant sous le modèle Bulk-logged, très peu de journaux sont enregistrés. Voir ce site https://geneve.news/category/informatique/ et vous en saurez plus !