Aggiornamento in sequenza di un database condiviso scalabile
Se vengono utilizzati set alternativi di volumi per la gestione di report per l'aggiornamento di una configurazione di un database condiviso scalabile, è possibile aggiornare il database tramite un aggiornamento in sequenza o un aggiornamento sincronizzato. Un aggiornamento in sequenza è appropriato se è consentito che i client ottengano temporaneamente risultati diversi in istanze del server diverse durante l'aggiornamento.
Un aggiornamento in sequenza completa l'aggiornamento in un server di report alla volta. Durante l'intervallo tra il primo e l'ultimo aggiornamento, la versione non aggiornata e quella aggiornata del database sono entrambe disponibili ai client in una o più istanze del server. Un aggiornamento in sequenza viene generalmente completato il più rapidamente possibile per ridurre al minimo il periodo in cui le due versioni si sovrappongono.
Nella figura seguente viene illustrato un aggiornamento in sequenza.
Con il volume A montato su tutti i server e il database di report collegato alle istanze del server, il database di report viene ricreato sul volume B.
Scollegare il database sul volume A dall'istanza del server sul primo server di report e smontare il volume A. Montare immediatamente il volume B sul primo server di report e collegare il database di report aggiornato all'istanza del server.
Scollegare il database sul volume A dall'istanza del server sul secondo server di report e smontare il volume A. Montare immediatamente il volume B sul secondo server di report e collegare il database di report aggiornato all'istanza del server.
Scollegare il database sul volume A dall'istanza del server sul terzo server di report e smontare il volume A. Montare immediatamente il volume B sul terzo server di report e collegare il database di report aggiornato all'istanza del server.
Con il volume B montato e il database aggiornato disponibile come database condiviso scalabile su tutti i server di report, eseguire la generazione del database di report sul volume A.
A seconda delle specifiche esigenze, un aggiornamento in sequenza può avere una durata relativamente lunga, per consentire il completamento delle query in corso, o può svolgersi in un tempo limitato.
Aggiornamenti in sequenza di durata indefinita
Con questa strategia, l'aggiornamento in sequenza consente all'amministratore di database di attendere il completamento delle query con esecuzione prolungata su un server di report, mentre è in corso l'aggiornamento del database su un altro server di report. Questa strategia risponde ai requisiti di business seguenti:
Non è necessario mantenere sincronizzati i server di report. Le versioni vecchia e nuova del database possono pertanto coesistere sui diversi server di report.
L'aggiornamento può essere eseguito in un tempo illimitato o comunque si considera prioritario il completamento delle query in corso.
Per compiere questo tipo di aggiornamento in sequenza, eseguire le operazioni seguenti su ogni server di report:
Iniziare la fase di collegamento del nuovo database montando il set alternativo di volumi contenenti il nuovo database sul server di report.
Nota
Anche per l'aggiornamento in sequenza, è possibile eseguire questo passaggio su tutti i server di report prima di proseguire.
Preservare tutte le query in corso arrestando l'attività di I/O sul volume di report originale. Se una query con esecuzione prolungata ritarda l'aggiornamento su una data istanza del server, attenderne il completamento. Quando tutte le query sull'istanza del server saranno terminate, completare la fase di scollegamento sul server.
Collegare il nuovo database di report all'istanza del server, rendendolo disponibile come database condiviso scalabile per le query di report.
Ripetere questi passaggi su tutti i server di report.
Aggiornamento in sequenza dei server di report (modalità rapida)
Con questa strategia, l'aggiornamento in sequenza consente all'amministratore di database di mantenere ininterrotto il servizio di report consentendo per breve tempo che la vecchia versione del database resti disponibile alle nuove query su alcuni server di report mentre è in corso l'aggiornamento del database su un altro server di report. Questa strategia risponde ai requisiti di business seguenti:
Non è necessario mantenere sincronizzati i server di report. Le versioni vecchia e nuova del database possono pertanto coesistere sui diversi server di report.
È necessario completare l'aggiornamento il più velocemente possibile, essendo tale obiettivo prioritario rispetto all'esecuzione delle query eventualmente in corso.
Per compiere un aggiornamento in sequenza nel più breve tempo possibile, eseguire le operazioni seguenti su un server di report alla volta:
Iniziare la fase di collegamento del nuovo database montando il set alternativo di volumi contenenti il nuovo database sul server di report.
Nota
Anche per l'aggiornamento in sequenza, è possibile eseguire questo passaggio su tutti i server di report prima di proseguire.
Arrestare l'attività di I/O sul volume di report ed eventualmente attendere il completamento delle query brevi in corso su un'istanza del server prima di scollegare il relativo database di report.
Completare la fase di scollegamento su tale server.
Collegare il nuovo database di report, rendendolo così disponibile come database condiviso scalabile per i report. Le query eseguite sulla nuova copia del database possono produrre risultati diversi rispetto a quelle eseguite sulle restanti copie obsolete del database di report.
Questo tipo di aggiornamento in sequenza assicura che le funzionalità generali di report non vengano mai interrotte. Questo consente di tollerare transazioni a esecuzione piuttosto prolungata su alcune istanze del server. Considerato tuttavia che l'aggiornamento di tutti i database di report dovrà avvenire in un tempo limitato, nel caso in cui una query con esecuzione prolungata ritardasse in modo significativo l'aggiornamento di un'istanza del server, sarà necessario terminarla. La query potrà essere eseguita nuovamente sulla stessa istanza del server dopo l'aggiornamento del database di report. In alternativa, è possibile ridurre l'attesa rieseguendo la query su un altro server già aggiornato.
Vedere anche