Confrontare le migrazioni online e offline
Esistono due metodologie distinte per la migrazione di database tra server: Online e Offline. Le differenze principali tra queste metodologie riguardano i tempi di inattività delle applicazioni e i processi che usano i database. In genere, le migrazioni offline comportano un periodo di inattività più lungo, mentre quelle online sono generalmente più brevi e presentano interruzioni minime.
Caratteristiche della migrazione offline
Quando si esegue un'attività di migrazione offline, la descrizione "Offline" fa riferimento alla necessità di arrestare le applicazioni e i carichi di lavoro associati al database prima dell'avvio dell'attività di migrazione. Viene quindi eseguita la migrazione e la verifica dei dati o del database dal sistema di origine a quello di destinazione, prima della riconfigurazione dell'applicazione, in modo da puntare alla nuova posizione, e del ripristino dei carichi di lavoro.
I due metodi più comuni per un'attività di migrazione offline sono i seguenti: il backup e ripristino di una migrazione dello schema e l'utilizzo di un ETL (Extract, Transform, and Load) per trasferire i dati a livello di oggetto o di processi di replica.
Le migrazioni offline comportano in genere tempi di inattività più lunghi per il sistema, a causa della durata necessaria per eseguire l'attività di migrazione dei dati. Il tempo di inattività cresce in modo proporzionale in base al volume di dati da trasferire durante la migrazione. La larghezza di banda è una risorsa limitata e solo una quantità limitata di dati può essere trasferita al secondo.
Esistono alcune ottimizzazioni che è possibile apportare alle migrazioni offline in modo da ridurre al minimo la quantità di tempi di inattività che è necessario gestire. Tuttavia, queste ottimizzazioni comportano in genere un aumento della complessità di migrazione e quindi i rischi di un errore. Si tratta dunque di trovare un equilibrio tra complessità, rischio e tempi di inattività consentiti.
Caratteristiche della migrazione online
Le migrazioni online sono migrazioni che possono essere eseguite mentre le applicazioni e i carichi di lavoro sono ancora in esecuzione. Tale situazione implica che il tempo di inattività necessario per eseguire il cutover dal vecchio al nuovo database sia ridotto e comporti un'interruzione minima per gli utenti.
Nota
È importante comprendere che, anche nelle migrazioni online, in genere è presente una piccola finestra in cui l'applicazione deve essere disconnessa per reindirizzarla alla nuova posizione del database. Esistono anche metodi per progettare un'applicazione in modo da non incorrere in tempi di inattività, ma ciò esula dall'ambito di questo modulo.
Una migrazione online usa in genere una tecnologia del motore di database come la replica per sincronizzare i dati dal database di origine a quello di destinazione. La durata complessiva di un'attività di migrazione online è più lunga rispetto a quella di un'attività offline perché la sincronizzazione dei dati viene impostata in anticipo rispetto all'evento di cutover.
Quando si valuta l'opportunità di eseguire una migrazione online, è importante comprendere il potenziale impatto sulle prestazioni che il processo di sincronizzazione applica al sistema di origine. Inoltre, il processo di sincronizzazione potrebbe essere soggetto a requisiti che implicano la necessità di apportare modifiche a un database in modo da completarlo correttamente.
Confronto tra offline e online
La tabella seguente riepiloga brevemente le principali differenze tra i processi di migrazione offline e online.
Migrazione offline | Migrazione online | |
---|---|---|
Tempo di inattività | Maggiore durata | Minore durata |
Complessità | Lower | Maggiore |
Impatto sull'origine | Lower | Maggiore |
Trasferimento dati | Processo singolo | Sincrona |
Quale metodo scegliere
La comprensione dei due metodi di migrazione rappresenta solo una parte degli aspetti da considerare per l'esecuzione di una migrazione. Prima di scegliere come eseguire la migrazione dei dati, è necessario conoscere quali siano gli strumenti disponibili.