Adobe Campaign fornisce un flusso di lavoro integrato che consente di pianificare alcune attività di manutenzione del database: flusso di lavoro di pulizia del database. Questo flusso di lavoro esegue le seguenti attività:
Si noti che l'attività di pulizia riguarda principalmente la manutenzione a livello di applicazione, non la manutenzione a livello di RDBMS (ad eccezione dell'aggiornamento delle statistiche). Tuttavia, le operazioni di manutenzione saranno richieste nel database. Anche se il flusso di lavoro di pulizia del database viene eseguito correttamente, ciò non significa che il database sia ottimizzato.
Il flusso di lavoro di pulizia del database non include alcuno strumento di manutenzione del database: è possibile organizzare la manutenzione. A questo scopo, puoi effettuare le seguenti operazioni:
Tali procedure di manutenzione devono essere eseguite regolarmente e devono comprendere quanto segue:
È necessario trovare gli slot appropriati per eseguire queste attività di manutenzione. Possono influire pesantemente sulle prestazioni del database durante l’esecuzione o addirittura bloccare l’applicazione (a causa del blocco).
Queste attività vengono in genere eseguite una volta alla settimana durante un periodo di bassa attività che non entra in conflitto con i backup, il ricaricamento dei dati o il calcolo dell’aggregazione. Alcuni sistemi molto richiesti richiedono una manutenzione più frequente.
Una manutenzione più approfondita, ad esempio la ricostruzione completa della tabella, può essere eseguita una volta al mese, preferibilmente con le applicazioni completamente arrestate in quanto il sistema è comunque inutilizzabile.
Sono disponibili diverse strategie:
Operazioni | Descrizione | Vantaggi | Svantaggi |
---|---|---|---|
Deframmentazione online |
La maggior parte dei motori di database fornisce metodi di deframmentazione. |
È sufficiente utilizzare il metodo di deframmentazione del database. Questi metodi in genere si occupano dei problemi di integrità bloccando i dati durante la deframmentazione. |
A seconda del database, questi metodi di deframmentazione possono essere forniti come opzione RDBMS (Oracle) e non rappresentano sempre il modo più efficiente per gestire le tabelle di grandi dimensioni. |
Effettua il dump e ripristina |
Scarica la tabella in un file, elimina la tabella nel database e ripristina dal dump. |
Questo è il modo più semplice per deframmentare una tabella. È anche l'unica soluzione quando il database è quasi pieno. |
Poiché la tabella viene eliminata e ricreata, l'applicazione non può essere lasciata online, nemmeno in modalità di sola lettura (la tabella non è disponibile durante la fase di ripristino). |
Duplica, rinomina e rilascia |
In questo modo viene creata una copia di una tabella e dei relativi indici, quindi viene eliminato quello esistente e la copia viene rinominata per sostituirla. |
Questo metodo è più veloce del primo, in quanto genera meno I/O (nessuna copia come file e lettura da questo file). |
Richiede il doppio dello spazio. Tutti i processi attivi che scrivono nella tabella durante il processo devono essere interrotti. Tuttavia, i processi di lettura non saranno interessati, poiché la tabella viene scambiata all’ultimo momento una volta ricreata. |