Come può ridurre le dimensioni del database del suo sito web?
Introduzione
Le dimensioni di un database possono essere un fattore di freno significativo se non vengono gestite correttamente. In questo articolo, analizzeremo perché il suo Database MySQL può diventare così grande, come può ridurre le dimensioni delle tabelle del database e come può mantenere il consumo del disco rigido di MySQL entro i limiti!
Motivi comuni per la crescita del database
Che ci creda o no, molti database hanno un problema comune quando si tratta della loro crescita.
Ecco le ragioni più comuni che è probabile incontrare:
Registri/protocolli
Alcune applicazioni utilizzano il database per registrare tutti i tipi di informazioni. Ad esempio - informazioni sugli accessi, errori, varie azioni degli amministratori o degli utenti, registrazioni, invio di e-mail, ecc. Queste informazioni sono importanti, ma memorizzarle nel database è una decisione tecnica sbagliata, almeno per i database SQL. Il database si riempie rapidamente, soprattutto se il sito web è molto frequentato, e questo può portare a problemi di prestazioni e a un lento esaurimento dei registri.
Per terminare la registrazione del database
Se si accorge che le dimensioni delle sue tabelle di analisi o di registro sono fuori controllo, le consigliamo di passare alla registrazione su file. La maggior parte delle moderne applicazioni open source memorizzano i registri in file; tuttavia, se questo non è il caso, dovrebbero offrire un'impostazione per passare alla registrazione su file nella loro area di amministrazione. Se ha un sito web personalizzato dovrebbe contattare lo sviluppatore che ha creato il sito web e chiedergli di abilitare la registrazione dei file.
Riduzione delle tabelle di registro del database
Prima di ridurre il suo database, deve scoprire quanto è grande. Abbiamo un ottimo tutorial su come Verifica del database del suo sito webche deve assolutamente leggere prima di procedere. Normalmente queste tabelle contengono la parola "log" o "analytics" nel loro nome, in modo da poterle distinguere facilmente dal resto. Per renderle più piccole, è sufficiente svuotarle o accorciarle. phpMyAdmin dispone di questa funzione.
*Nota: La schermata mostra esattamente dove deve cliccare per cancellare facilmente la tabella.
I bot
È interessante notare che i bot sono una causa comune di crescita eccessiva del database. Immagini di avere un database che registra praticamente tutto ciò che accade sul sito web, ad esempio registrazioni, login, e-mail, moduli di contatto, ecc. Ora immaginiamo un bot che approfitta di tutto questo e riempie i moduli di registrazione e di accesso con spam, in modo che le tabelle si riempiano con le informazioni che lei vuole registrare. Se ha un sito web in cui gli utenti registrati possono pubblicare e commentare i post degli altri utenti, le cose diventano ancora più folli, perché il bot può iniziare a pubblicare e commentare. Indovini dove la maggior parte delle applicazioni memorizza questo tipo di dati: sì, proprio così, nel database! Un attacco spambot può far aumentare le dimensioni del suo database, se non prende alcune precauzioni.
Come posso evitare che i bot invadano il mio database?
Il metodo più semplice è aggiungere un reCaptcha a tutti i moduli del sito web. Questa implementazione garantisce che nessun essere non umano possa registrarsi e quindi impedisce la creazione di registri nel suo database MySQL.
Controllare i diritti di accesso a livello di utente e consentire solo agli utenti che hanno superato la verifica (ad esempio via e-mail) di scrivere post e commenti.
Messaggi moderatipagine e commenti lei stesso o assumere qualcuno che lo faccia per lei, se ha un sito web ad alto traffico.
IMPORTANTE: Alcune integrazioni reCaptcha registrano anche i successi e i fallimenti dei singoli reCaptcha. La sua applicazione potrebbe memorizzare questi registri nel suo database. Lo verifichi prima di integrare questa funzione. Se la registrazione nel database è abilitata, la disattivi completamente, in quanto le informazioni non sono rilevanti, oppure prenda in considerazione la registrazione su file.
Come eliminare le tabelle del database sommerse dai bot
Non esiste un metodo predefinito per eliminare le tabelle che sono state riempite dai bot. Queste tabelle possono includere le tabelle dei log, le tabelle dei post, le tabelle dei commenti, le tabelle dei reCaptcha, ecc. È meglio controllare tutte le tabelle più grandi e svuotare quelle che ritiene siano spam. Se non si sente sicuro nel farlo, può assumere uno sviluppatore per esaminare l'intero database e aiutarla a ridurre le dimensioni rimuovendo tutti i contenuti spam.
Sessioni
Tutti i suoi visitatori creano sessioni sul suo sito web quando utilizzano il modulo di accesso. Per mantenere l'utente connesso, la sessione interagisce con il cookie memorizzato nel browser dell'utente. Normalmente, questa sessione dura una certa quantità di tempo. Tuttavia, in un'applicazione mal programmata, la sessione non viene eliminata quando scade o l'utente si disconnette. Se a questo si aggiunge il fatto che la sua applicazione memorizza le sessioni nel suo database, si ottiene una situazione molto spiacevole: il database si riempie di vecchie sessioni che gli utenti non utilizzano più.
Per disattivare le sessioni nel database
Normalmente, ogni applicazione ha un'impostazione da qualche parte nel suo file di configurazione che dovrebbe permetterle di cambiare la posizione delle sessioni dal database al file. Dovrebbe controllare la documentazione della rispettiva applicazione per vedere se questo è possibile e, in caso affermativo, come procedere.
Cancellare le sessioni dal database
Dovrebbe essere molto semplice. Di solito queste tabelle contengono la parola "session" o "sess" nel loro nome, quindi sono facili da distinguere dal resto. Per renderle più piccole, è sufficiente "svuotarle" o "troncarle". phpMyAdmin ha già questa funzione incorporata. Consulti anche il nostro tutorial su come verificare le dimensioni del database del sito web.
Immagini
Un metodo molto arcaico per salvare le immagini è quello di memorizzarle in un database. Il problema è sorto quando i file multimediali sono diventati sempre più grandi. Tuttavia, queste vecchie pratiche sono rimaste nella comunità degli sviluppatori. Se si trova in una situazione del genere, si trova in una posizione molto difficile, in quanto non può semplicemente troncare o svuotare la tabella contenente le immagini, in quanto ciò eliminerebbe le immagini dal suo sito web.
Per evitare che la sua applicazione salvi le immagini nel database
Normalmente, ogni applicazione ha un'impostazione da qualche parte nel suo file di configurazione che dovrebbe consentire di cambiare la posizione di archiviazione delle immagini. Dovrebbe controllare la documentazione della rispettiva applicazione per vedere se questo è possibile e, in caso affermativo, come procedere.
Come posso eliminare le immagini del mio sito web dal database?
Purtroppo, questo non è un compito facile, poiché lo svuotamento del database distruggerà il suo contenuto. Le consigliamo di contattare uno sviluppatore e di chiedergli di rivedere l'intera applicazione e il suo database e di modificare il modo in cui gestisce le immagini.
Troppe tabelle del database
Questo problema può verificarsi in due circostanze:
- Lei ha inavvertitamente importato molti file SQL in un unico database.
- Ha installato troppi plugin/moduli sul suo sito web, che hanno aggiunto troppe tabelle del database.
Come posso evitare che le tabelle del mio database diventino troppo grandi?
In primo luogo, deve fare molta attenzione quando importa un file SQL e assicurarsi di importarlo nel database corretto. In secondo luogo, deve diffidare dall'installare moduli o plugin che non provengono da un fornitore certificato e la cui origine e manutenzione sono discutibili.
Come posso ridurre il numero di tabelle del database?
Prima disinstalli tutti i plugin non necessari. Poi controlli attentamente il suo database per individuare le tabelle non utilizzate dalla sua applicazione. Se può chiedere aiuto a uno sviluppatore web certificato, questo le renderà sicuramente la vita più facile.
Ottimizzazione delle tabelle del database con phpMyAdmin
Prima di terminare questo tutorial, vorremmo presentarle una semplice attività che può eseguire con phpMyAdmin: "Ottimizzare". Questa simpatica funzione esegue le operazioni di base sul suo database e rimuove tutte le informazioni non necessarie, come l'overhead e i dati volatili dal database, il che alla fine porta a una riduzione delle dimensioni del database.
Wow, sono state molte informazioni. A prima vista può sembrare opprimente, ma spero che questo articolo l'abbia aiutata a capire come ridurre le dimensioni del database del suo sito web. Se non si sente ancora abbastanza sicuro di sé per risolvere gli errori, si senta libero di contattare i nostri Team di supporto inviando un ticket nella sua area clienti.