Comment réduire la taille de la base de données de votre site web ?
Introduction
La taille d'une base de données peut être un frein considérable si elle n'est pas gérée correctement. Dans cet article, nous allons nous pencher sur les raisons pour lesquelles votre Base de données MySQL peut devenir aussi grand, comment réduire la taille des tables de base de données et comment limiter votre consommation de disque dur MySQL !
Raisons fréquentes de la croissance des bases de données
Croyez-le ou non, de nombreuses bases de données ont un problème commun lorsqu'il s'agit de leur croissance.
Voici les raisons les plus courantes que vous rencontrerez probablement :
Logs/protocoles
Certaines applications utilisent la base de données pour consigner toutes sortes d'informations. Par exemple - les informations d'accès, les erreurs, les différentes actions des administrateurs ou des utilisateurs, les inscriptions, l'envoi d'e-mails, etc. Ces informations sont importantes, mais les stocker dans la base de données est une mauvaise décision technique, du moins pour les bases de données SQL. La base de données se remplit rapidement, surtout si vous avez un site web très fréquenté, et cela peut entraîner des problèmes de performance et de lenteur dans l'arrondi des logs.
Pour arrêter la journalisation de la base de données
Si vous constatez que la taille de vos tableaux d'analyse ou de journalisation devient incontrôlable, nous vous recommandons de passer à la journalisation des fichiers. La plupart des applications open source modernes stockent les journaux dans des fichiers, mais si ce n'est pas le cas, elles devraient proposer un paramètre permettant de passer à la journalisation des fichiers dans leur panneau d'administration. Si vous utilisez une site web personnalisé vous devez contacter le développeur qui a créé le site et lui demander d'activer la journalisation des fichiers à la place.
Réduction de la taille des tables de protocole de la base de données
Avant de réduire la taille de votre base de données, vous devez savoir quelle est sa taille. Nous avons publié un excellent tutoriel sur Vérification de la base de données de votre site webque vous devez absolument lire avant de poursuivre. En général, ces tableaux contiennent le mot "log" ou "analytics" dans leur nom, ce qui permet de les distinguer facilement du reste. Pour les réduire, il vous suffit de les vider ou de les raccourcir. phpMyAdmin dispose de cette fonction.
*Remarque : La capture d'écran vous montre exactement où vous devez cliquer pour vider facilement le tableau.
Bots
Il est intéressant de noter que les bots sont une cause très répandue de croissance excessive des bases de données. Imaginez que vous ayez une base de données qui enregistre à peu près tout ce qui se passe sur votre site, par exemple les inscriptions, les connexions, les e-mails, les formulaires de contact, etc. Imaginez maintenant un bot qui utilise toutes ces possibilités et remplit vos formulaires d'inscription et de connexion de spam, de sorte que vos tables soient remplies des informations qu'il doit consigner. Si vous avez un site web sur lequel les utilisateurs enregistrés peuvent créer des messages et écrire des commentaires sur les messages des autres utilisateurs, les choses deviennent encore plus folles, car le bot peut alors commencer à poster et à commenter. Devinez où la plupart des applications stockent ce type de données - oui, c'est ça - dans la base de données ! Une attaque de spambot peut faire grimper en flèche la taille de votre base de données si vous ne prenez pas certaines précautions.
Comment puis-je empêcher les robots d'inonder ma base de données ?
La méthode la plus simple consiste à insérer un reCaptcha dans tous les formulaires du site. Cette implémentation garantit qu'aucun être non humain ne peut s'inscrire et empêche ainsi la création de journaux dans votre base de données MySQL.
Contrôlez les droits d'accès au niveau de l'utilisateur et n'autorisez que les utilisateurs qui ont réussi une vérification (par exemple par e-mail) à rédiger des contributions et des commentaires.
Modérer les messagesSi vous avez un site très fréquenté, vous pouvez le faire vous-même ou demander à quelqu'un de le faire.
IMPORTANT : Certaines intégrations reCaptcha enregistrent également les succès et les échecs de chaque reCaptcha. Il se peut que votre application enregistre ces protocoles dans votre base de données. Avant d'intégrer cette fonction, veuillez le vérifier. Si la journalisation de la base de données est activée, désactivez-la complètement, car les informations ne sont pas pertinentes, ou envisagez une journalisation des fichiers.
Comment supprimer les tables de base de données submergées par les robots
Il n'existe pas de méthode fixe pour supprimer les tableaux qui ont été remplis par des robots. Ces tables peuvent inclure vos tables de journalisation, vos tables de messages, vos tables de commentaires, vos tables reCaptcha, etc. Le mieux est de vérifier tous les tableaux qui sont plus grands et de vider ceux que vous considérez comme des spams. Si vous ne vous en sentez pas capable, vous pouvez demander à un développeur d'examiner l'ensemble de la base de données et de vous aider à en réduire la taille en supprimant tout le contenu spam.
Sessions
Tous vos visiteurs créent des sessions sur votre site web lorsqu'ils utilisent votre formulaire d'inscription. Pour que l'utilisateur reste connecté, la session interagit avec le cookie qui est déposé dans le navigateur de l'utilisateur. Normalement, cette session dure un certain temps. Toutefois, si l'application est mal programmée, la session n'est pas supprimée lorsqu'elle expire ou que l'utilisateur se déconnecte. Si vous combinez cela avec le fait que votre application stocke des sessions dans sa base de données, vous vous retrouvez dans une situation très désagréable : votre base de données se remplit d'anciennes sessions que vos utilisateurs n'utilisent plus.
Pour désactiver des sessions dans la base de données
Normalement, chaque application possède quelque part dans son fichier de configuration un paramètre qui devrait vous permettre de changer l'emplacement des sessions de base de données en fichier. Vous devriez consulter la documentation de l'application concernée pour savoir si cela est possible et, si oui, comment procéder.
Supprimer des sessions de la base de données
Cela devrait être très simple. Normalement, ces tableaux contiennent le mot "session" ou "sess" dans leur nom, ce qui permet de les distinguer facilement du reste. Pour les réduire, il suffit de les "vider" ou de les "couper". phpMyAdmin a déjà intégré cette fonction. Consultez également notre tutoriel sur la vérification de la taille de la base de données du site web.
Images
Une méthode très archaïque pour stocker des images est de les enregistrer dans une base de données. Le problème est apparu lorsque les fichiers multimédias sont devenus de plus en plus volumineux. Ces anciennes pratiques ont toutefois perduré au sein de la communauté des développeurs. Si vous vous trouvez dans une telle situation, vous vous retrouvez dans une position très difficile, car vous ne pouvez pas simplement couper ou vider la table contenant les images, car cela les supprimerait de votre site.
Comment empêcher votre application de stocker des images dans la base de données ?
Normalement, chaque application possède quelque part dans son fichier de configuration un paramètre qui devrait permettre de modifier l'emplacement des images. Vous devriez consulter la documentation de l'application concernée pour savoir si cela est possible et, si oui, comment procéder.
Comment puis-je supprimer les images de mon site web de la base de données ?
Malheureusement, ce n'est pas une tâche facile, car le fait de vider la base de données détruit votre contenu. Nous vous conseillons de vous adresser à un développeur et de lui demander de revoir toute l'application et sa base de données et de modifier la manière dont elle traite les images.
Trop de tables de base de données
Ce problème peut survenir dans deux circonstances :
- Vous avez importé par erreur de nombreux fichiers SQL dans une seule base de données.
- Vous avez installé trop de plug-ins/modules sur votre site, ce qui a entraîné l'ajout de nombreuses tables de base de données.
Comment puis-je éviter que mes tables de base de données ne deviennent trop grandes ?
Premièrement, lorsque vous importez un fichier SQL, vous devez être très prudent et vous assurer que vous l'importez dans la bonne base de données. Deuxièmement, vous devez vous garder d'installer des modules ou des plug-ins qui ne proviennent pas d'un fournisseur certifié et dont l'origine et la maintenance sont douteuses.
Comment réduire le nombre de tables de la base de données ?
Veuillez d'abord désinstaller tous les plugins dont vous n'avez pas besoin. Ensuite, vérifiez soigneusement votre base de données afin de repérer les tables qui ne sont pas utilisées par votre application. Si vous pouvez demander l'aide d'un développeur web certifié, cela vous facilitera certainement la vie.
Optimiser les tables de la base de données avec phpMyAdmin
Avant de terminer ce tutoriel, nous aimerions vous présenter une tâche simple que vous pouvez effectuer avec phpMyAdmin : "Optimiser". Cette fonction sympathique effectue des opérations de base sur votre base de données et supprime de la base de données toutes les informations inutiles telles que l'overhead et les données volatiles, ce qui entraîne au final une réduction de la taille de la base de données.
Ouah, cela fait beaucoup d'informations. À première vue, cela peut sembler écrasant, mais j'espère que cet article vous a aidé à comprendre comment réduire la taille de la base de données de votre site. Si vous ne vous sentez toujours pas suffisamment à l'aise pour corriger vous-même les erreurs, n'hésitez pas à contacter notre Équipe de soutien en envoyant un ticket dans votre espace client.