Adobe Campaign fornisce un flusso di lavoro integrato che consente di pianificare alcune attività di manutenzione del database: il flusso di lavoro di pulizia del database. Questo flusso di lavoro esegue le seguenti attività:
L'attività di pulizia si occupa principalmente della manutenzione del livello dell'applicazione, non della manutenzione del livello RDBMS (ad eccezione dell'aggiornamento statistico). Tuttavia, le operazioni di manutenzione saranno necessarie nel database. Anche se il flusso di lavoro di pulizia del database viene eseguito correttamente, ciò non significa che il database sia ottimamente sintonizzato.
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, potete:
Tali procedure di manutenzione devono essere eseguite su base regolare e devono comprendere:
È necessario trovare gli slot appropriati per eseguire queste attività di manutenzione. Possono influire notevolmente sulle prestazioni del database durante l'esecuzione o persino il blocco dell'applicazione (a causa del blocco).
Tali attività vengono in genere eseguite una volta alla settimana durante un periodo di attività bassa che non entra in conflitto con backup, ricaricamento dei dati o calcolo aggregato. Alcuni sistemi che sono molto richiesti richiedono una manutenzione più frequente.
Una volta al mese è possibile eseguire una manutenzione più approfondita, ad esempio una rigenerazione 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. |
È 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 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 ripristinare 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 in linea, anche in modalità di sola lettura (la tabella non è disponibile durante la fase di ripristino). |
Duplica, rinomina e rilascia |
Viene creata una copia di una tabella e dei relativi indici, quindi viene rilasciata quella esistente e rinominata 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 dello spazio. Tutti i processi attivi che scrivono alla tabella durante il processo devono essere interrotti. Tuttavia, i processi di lettura non saranno interessati, poiché la tabella viene scambiata all'ultimo momento dopo la ricostruzione. |