Introducing G2.ai, the future of software buying.Try now

Migrazione del Database: Passaggio da Sistemi Legacy a Sistemi Moderni

Settembre 10, 2024
da Sagar Joshi

La migrazione del database è soggetta a resistenza, specialmente se si tratta di un prodotto consolidato che è già in produzione. Queste conversazioni probabilmente si verificano quando una nuova funzionalità introdotta nella tua applicazione influisce sullo schema dei dati.

Quando si migrano i database, è necessario trasferire la versione corrente a una nuova versione del database. In parole semplici, è necessario iniziare a pensare alla versioning, all'importazione dei dati, agli script, agli aggiornamenti e all'automazione dedicata richiesta. La complessità aumenta solo quando si considerano le implicazioni finanziarie e di tempo associate alla migrazione del database.

Con la giusta strategia e gli strumenti adeguati, il processo di migrazione può diventare molto più gestibile. Molte organizzazioni si rivolgono a strumenti di migrazione cloud per garantire un backup e una documentazione adeguati.

Una migrazione del database si verifica quando si sostituisce un server o un'attrezzatura di archiviazione, si migrano applicazioni, si trasferisce un data center o durante il recupero da disastri. Tuttavia, non è priva di sfide. Spesso, i team che gestiscono la migrazione dei dati non sono pienamente consapevoli del proprietario aziendale dei dati o dell'applicazione a cui sono collegati, portando a complicazioni.

Senza una strategia adeguata per eseguire e completare efficacemente il processo di migrazione, il tuo obiettivo di migrazione è più un desiderio che una realtà.

75%

dei progetti di migrazione cloud superano il budget e il 38% è in ritardo rispetto alle tempistiche.

Fonte: McKinsey

I progetti di migrazione dei dati sono complessi e richiedono un coordinamento attento quando si migrano applicazioni critiche per la missione. Diversi sistemi, tecnologie e team devono funzionare esattamente come previsto per rendere la migrazione un successo.

Terminologie coinvolte nel processo di migrazione dei dati

Prima di comprendere la strategia di migrazione dei dati, dobbiamo essere sulla stessa lunghezza d'onda riguardo ai termini ufficiali. Ecco alcuni comuni e non comuni:

  • Un database memorizza dati in modo sistematico ed elettronico, inclusi parole, numeri, immagini, video o file. Un sistema di gestione del database (DBMS) ti consente di memorizzare, recuperare e modificare i dati.
  • Uno schema è una struttura di base che definisce come un database memorizzerà i dati.
  • Un database sorgente contiene i dati che migrerai a uno o più database di destinazione.
  • Un database di destinazione riceve i dati migrati da uno o più database sorgente.
  • Una migrazione omogenea descrive una migrazione da un database sorgente a un database di destinazione quando entrambi sono sullo stesso DBMS.
  • Migrazione eterogenea coinvolge la migrazione dei dati da un database sorgente a un database di destinazione su diversi fornitori di DBMS.
  • Replica dei dati è il trasferimento continuo di dati da un database sorgente a un database di destinazione senza l'obiettivo di spegnere il sorgente. Questo processo è anche chiamato streaming dei dati.

Vuoi saperne di più su Software di migrazione al cloud? Esplora i prodotti Migrazione al cloud.

Strategie di migrazione del database

Ci sono tre strategie comuni di migrazione del database.

1. Strategia di migrazione Big Bang

Questa strategia sposta simultaneamente tutti i dati dal sistema sorgente al database di destinazione entro un tempo stabilito. L'implementazione è più semplice perché è un trasferimento di dati diretto, ma si fa un compromesso con un tempo di inattività prolungato.

Non è adatta per le organizzazioni che necessitano che i loro sistemi operino continuamente. Le piccole organizzazioni spesso preferiscono questo approccio quando trasferiscono dati da sistemi legacy al nuovo database in modo accurato.

2. Strategia di migrazione a goccia

La strategia di migrazione a goccia trasferisce i dati in piccole porzioni. Si allinea con la metodologia agile, rendendo più facile confermare il successo delle singole fasi. Anche se più dispendiosa in termini di tempo, consente di rilevare precocemente i problemi, evitando fallimenti inaspettati nella migrazione dei dati.

La migrazione è più gestibile ma richiede diverse risorse per far funzionare due sistemi contemporaneamente.

3. Strategia di migrazione a zero downtime

La replica dei dati replica i dati dal sorgente e li trasferisce al database di destinazione, consentendo un accesso e operazioni ininterrotte nel database sorgente. Il metodo minimizza le interruzioni, rendendolo ideale per le aziende che necessitano di operazioni continue nei loro processi aziendali.

Processo di migrazione dei dati

Combinare strategie di migrazione dei dati può aiutarti a evitare tempi di inattività mantenendo un'accuratezza dei dati affidabile. Tuttavia, è necessario fare alcune cose correttamente per garantire che la tua migrazione del database sia efficace.

Inizia comprendendo la necessità di migrazione, inclusi sia i vantaggi che i potenziali svantaggi. Verifica se tutte le applicazioni e le funzionalità sono compatibili e accertati che i requisiti di configurazione siano soddisfatti. Imposta un backup prima di iniziare la migrazione, assicurandoti di avere un piano di rollback nel caso in cui la migrazione fallisca.

Inoltre, è consigliabile considerare queste cose prima di procedere con la migrazione.

Chiediti:

  • Impatto aziendale: Quanto è accettabile la perdita di dati? Qual è la necessità di sicurezza dei dati necessaria durante il processo di migrazione?
  • Costo: Il budget è un ostacolo?
  • Utilizzo dei dati: Come utilizzeranno i dati gli utenti aziendali? Quali sono i requisiti di conformità per l'archiviazione dei dati?
  • Modello di dati: La migrazione richiederà cambiamenti al modello di dati?
  • Qualità dei dati: Quale flusso di lavoro dovrebbe essere seguito per rispettare al meglio la governance che garantisce la qualità dei dati?
  • Volume dei dati: Quanti dati devono essere migrati?
  • Ambienti sorgente e di destinazione: Lo stesso sistema operativo funzionerà su entrambi gli ambienti?

Passo 1: Pianifica

Valuta la dimensione e la complessità del database per stimare il tempo e le risorse necessarie per la migrazione. Scegli ore di bassa attività per programmare la migrazione per minimizzare l'impatto del downtime, a condizione che la strategia di migrazione implementata ne causi. Testa il processo di migrazione nell'ambiente di staging per affinare e risolvere eventuali problemi potenziali. Prova il processo sotto carico, assicurandoti che il processo di migrazione possa gestire efficacemente il trasferimento dei dati.

Passo 2: Migra

A seconda della strategia scelta, puoi eseguire la migrazione simultaneamente o in modo incrementale. L'approccio successivo suddivide i dati in blocchi più piccoli e li trasferisce per ridurre il rischio e aumentare l'efficienza della migrazione.

È consigliabile utilizzare la replica del database per mantenere i vecchi database fino a quando non si effettua un passaggio finale al nuovo. Quando la migrazione è in corso, monitorala attentamente per problemi di prestazioni. Tieni un backup se qualcosa va storto.

Passo 3: Valida

Dopo aver assicurato che tutti i dati siano stati trasferiti accuratamente, effettua il passaggio finale. Esegui controlli per garantire l'integrità dei dati e le prestazioni del nuovo sistema e imposta un ambiente di test che assomigli da vicino all'ambiente di produzione.

Inizia a testare in modo completo per convalidare i dati e i loro tipi, indici e relazioni. Devi utilizzare uno strumento qui per verificare che i dati nel database di destinazione corrispondano a quelli del sorgente.

Successivamente, puoi condurre un test delle prestazioni per garantire che il nuovo server completi i livelli di prestazioni che avevi in mente quando hai iniziato.

Un esempio di migrazione del database tra due sistemi di database relazionali

Supponiamo che tu stia lavorando su due database MySQL.

  • Valuta i database. Inizia valutando la loro dimensione, inclusi il numero di tabelle, record, trigger e procedure. Quindi, rivedi il tipo di dati e verifica eventuali problemi di compatibilità con i server di query strutturate (SQL).
  • Converti lo schema. Utilizza strumenti come SQL server migration assistant (SSMA) per convertire lo schema del database MySQL in SQL Server. Controlla accuratamente eventuali elementi che non si traducono direttamente.
  • Mappa i dati. Assicurati che ogni dato in MySQL corrisponda al server SQL per mantenere l'integrità dei dati.
  • Replica i dati. Sincronizza i dati tra MySQL e il server SQL in tempo reale.
  • Esegui aggiornamenti incrementali dei dati. Dopo il caricamento iniziale dei dati, gli aggiornamenti incrementali mantengono operativo il database MySQL e minimizzano i tempi di inattività.
  • Pianifica il passaggio finale. Pianifica il passaggio completo dal vecchio database durante un periodo di bassa attività. Cambia la connessione dell'applicazione al nuovo database del server SQL.
  • Offri formazione. Fai in modo che il tuo team comprenda le funzionalità dei server SQL che possono utilizzare quotidianamente. Questo li aiuterà a affrontare eventuali problemi che potrebbero emergere a seguito della migrazione. Crea un team di esperti di server SQL che siano familiari con la sintassi SQL e possano trovare ciò che sta influenzando la funzionalità dell'applicazione.

È meglio mantenere una comunicazione chiara con gli stakeholder durante il processo di migrazione. Questo aiuta a risolvere i problemi in modo collaborativo e nei tempi previsti.

Come scegliere uno strumento di migrazione dei dati

Quando si seleziona uno strumento di migrazione dei dati, hai tre opzioni principali:

Migrazione dei dati auto-scritta è un metodo fai-da-te in cui si utilizza uno strumento interno per piccoli progetti. È utile quando altri strumenti non supportano la sorgente o la destinazione dei dati. Anche se relativamente meno costoso (quando i requisiti sono semplici), richiede esperti di codifica e può distogliere gli ingegneri da compiti più strategici.

D'altra parte, se i dati sono contenuti all'interno di un singolo sito, strumenti on-premise funzioneranno. Tuttavia, requisiti di conformità specifici possono proibire l'uso di soluzioni basate su cloud. Le soluzioni on-premise sono un'opzione preferita quando i requisiti dei dati sono statici e non c'è piano di scalare. Mentre danno più controllo sui livelli fisici e applicativi, aggiungono anche molta responsabilità ai team IT per gestire la sicurezza, gli aggiornamenti e tutto ciò che è necessario per mantenere lo strumento operativo.

La terza opzione, il software di migrazione dei dati basato su cloud, è una scelta comparativamente migliore per le organizzazioni che pianificano di scalare. Semplifica la migrazione dei dati quando si lavora con più fonti e destinazioni di dati. Man mano che le esigenze aziendali cambiano, lo strumento si adatta, aggiungendo più agilità al processo.

Gli strumenti di migrazione dei dati basati su cloud di solito offrono prezzi pay-as-you-go che eliminano l'underutilizzazione delle risorse. Anche se alcune organizzazioni hanno preoccupazioni sulla sicurezza, le soluzioni cloud sono strumenti affidabili per le aziende che preferiscono scalare.

Rendere più semplice la migrazione al cloud

Considerando la migrazione al cloud, inizia ad aggiornare i dati e a trasferire i file con le capacità del cloud. Rendi il backup dei dati e la documentazione più accessibili. Gli strumenti di migrazione al cloud ti consentono di trasferire grandi volumi di dati (di diversi tipi) alle applicazioni di archiviazione cloud.

La migrazione al cloud ti consente di gestire, consolidare e integrare vari tipi di dati su larga scala.

Scopri di più sulle soluzioni di migrazione cloud gratuite che puoi utilizzare per facilitare la migrazione dei dati nella tua azienda.

Modificato da Monishka Agrawal

Sagar Joshi
SJ

Sagar Joshi

Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.