Adobe Campaign fornisce un flusso di lavoro integrato che consente di pianificare alcune attività di manutenzione del database: la flusso di lavoro di pulizia del database. Questo flusso di lavoro esegue le seguenti attività:
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, nel database saranno necessarie operazioni di manutenzione. 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: spetta a voi organizzare la manutenzione. A questo scopo, puoi effettuare le seguenti operazioni:
Tali procedure di manutenzione devono essere eseguite su base regolare e devono comprendere quanto segue:
È necessario trovare gli slot appropriati per l'esecuzione di queste attività di manutenzione. Possono influire notevolmente sulle prestazioni del database durante l'esecuzione o persino il blocco dell'applicazione (a causa del blocco).
Queste attività vengono in genere eseguite una volta alla settimana durante un periodo di bassa attività che non è in conflitto con i backup, il ricaricamento dei dati o il calcolo aggregato. Alcuni sistemi molto richiesti richiedono una manutenzione più frequente.
Una volta al mese è possibile eseguire una manutenzione più approfondita, ad esempio la ricostruzione completa delle tabelle, preferibilmente con applicazioni completamente interrotte, poiché 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. |
Utilizza semplicemente il metodo di deframmentazione del database. In genere, questi metodi 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 (ad Oracle) e non sono sempre il modo più efficiente per gestire tabelle più grandi. |
Discesa e ripristino |
Eseguire il dump della tabella in un file, eliminare la tabella nel database e ripristinarla 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, anche in modalità di sola lettura (la tabella non è disponibile durante la fase di ripristino). |
Duplicare, rinominare e rilasciare |
Crea una copia di una tabella e dei relativi indici, quindi rilascia quella esistente e rinomina la copia per sostituirla. |
Questo metodo è più veloce del primo approccio in quanto genera meno IO (nessuna copia come file e lettura da questo file). |
Richiede il doppio della quantità di spazio. È necessario arrestare tutti i processi attivi che scrivono alla tabella durante il processo. Tuttavia, i processi di lettura non saranno influenzati, poiché la tabella viene scambiata all’ultimo momento una volta ricostruita. |