Aggiornamento sincronizzato 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. Se si desidera che il database di report restituisca risultati identici ai client, eseguire un aggiornamento sincronizzato. In un aggiornamento sincronizzato la versione precedente del database viene scollegata da tutte le istanze del server prima che venga collegata la nuova versione a ciascuna di esse.
Seguire questa strategia se:
È necessario mantenere sincronizzato il database di report in modo da restituire risultati identici ai client su tutti i server di report. In questo caso le versioni vecchia e nuova del database non devono mai coesistere.
È opportuno completare l'aggiornamento il più velocemente possibile, essendo tale obiettivo prioritario rispetto all'esecuzione delle query eventualmente in corso.
La sincronizzazione del database in tutti i server di report comporta l'indisponibilità temporanea del database di report tra la fase di scollegamento di una versione non aggiornata del database e la fase di collegamento della versione aggiornata. Per ridurre al minimo il tempo di inattività del database, è possibile avviare la fase di collegamento del database aggiornato in tutti i server e in seguito completare la fase di scollegamento in tutti i server. Collegare infine il database in ogni server di report il pù rapidamente possibile.
Sincronizzazione delle fasi di scollegamento e di collegamento
Per sincronizzare il ciclo di aggiornamento su tutte le istanze del server ed eventualmente completare il ciclo di aggiornamento il più velocemente possibile:
Iniziare la fase di collegamento del nuovo database su tutti i server di report, montando il set alternativo di volumi contenenti il nuovo database sul server di report.
Completare la fase di scollegamento su tutti i server di report. Per un aggiornamento rapido, terminare tutte le query con esecuzione prolungata prima di scollegare il vecchio database e smontare i volumi di report.
Collegare il nuovo database all'istanza del server su ogni server di report. Appena il database sarà collegato a una data istanza, le query terminate potranno essere riavviate su tale istanza.
Nella figura seguente viene illustrato come utilizzare una coppia di volumi di report alternativi per mantenere un singolo database condiviso scalabile sincronizzato su tutte le istanze del server.
.gif)
Nella figura vengono illustrati due cicli di aggiornamento e mezzo di un database di report mediante l'uso di una coppia di volumi di report alternativi. In principio non vi è alcun database di report.
Creazione di un nuovo database di report sul volume A: uno dei due volumi di report, A, viene montato sul server di produzione e impostato in lettura e scrittura. Viene creata la versione iniziale del database di report. Il volume di report viene quindi impostato in sola lettura e poi smontato.
[!NOTA]
Il volume alternativo non è ancora utilizzato.
Fase di collegamento per il volume A: il volume viene montato in sola lettura su ogni server di report e poi collegato a ogni istanza del server.
Mentre il database di report è disponibile come database condiviso scalabile sul volume A, l'altro volume di report, B, viene montato sul server di produzione e impostato in lettura e scrittura per creare una nuova versione aggiornata del database per il secondo ciclo di aggiornamento. Quando la nuova versione del database di report è pronta sul volume B, questo viene smontato.
La fase di scollegamento del volume A e la fase di collegamento del volume B si sovrappongono:
Prima viene montato sul server di report il volume alternativo B.
Quindi, il database non aggiornato, sul volume A, viene scollegato.
Quindi il database di report aggiornato, sul volume B, viene collegato a ogni server di report.
Infine, il volume A viene smontato da tutti i server di report.
Mentre il database di report è disponibile come database condiviso scalabile sul volume B, l'altro volume di report, A, viene montato sul server di produzione e impostato in lettura e scrittura in vista dell'aggiornamento della vecchia versione del database di report. Questo processo può implicare l'aggiornamento del database esistente o la creazione di un database completamente nuovo.
Vedere anche