ottimizzazione

Migrazione da Oracle a PostgreSQL

La nostra priorità: migrare senza perdita di dati.

Cambiare motore di database non significa semplicemente copiare delle tabelle. La scelta può nascere dai costi delle licenze, da una strategia open source o dal passaggio al cloud. In ogni caso, una migrazione tra DBMS coinvolge lo schema, il codice, i dati, le applicazioni e i team che li gestiscono. I nostri consulenti conoscono a fondo entrambi i mondi, Oracle e PostgreSQL. Vi affiancano dallo studio di fattibilità fino alla gestione del nuovo ambiente, adattando l’approccio ai vostri vincoli di produzione.

Studio di fattibilità

Valutare l’impegno prima di partire.
Prima di qualsiasi migrazione, censiamo il vostro ambiente: volumi di dati, oggetti, codice PL/SQL, funzionalità specifiche di Oracle, dipendenze applicative e requisiti di disponibilità. Questa analisi permette di stimare con precisione l’impegno di conversione, individuare i punti critici e scegliere la strategia di passaggio più adatta. Così decidete con piena consapevolezza. Valutiamo in particolare:

  • La compatibilità dello schema e dei tipi di dati
  • Il volume e la complessità del codice PL/SQL (package, trigger, procedure)
  • L’uso di funzionalità proprie di Oracle (partizionamento, package DBMS_*, database link, sinonimi…)
  • L’impatto sulle applicazioni e sugli strumenti di terze parti
  • Il beneficio atteso, in particolare sulle licenze

Conversione dello schema e del codice

Trasporre, non solo tradurre.
Alcune differenze tra Oracle e PostgreSQL sono sottili. In Oracle una stringa vuota equivale a NULL, in PostgreSQL no. Il tipo DATE di Oracle contiene anche l’ora, e le maiuscole/minuscole degli identificatori non sono gestite allo stesso modo… Convertiamo schema, sequenze, viste e codice PL/SQL in PL/pgSQL. Riscriviamo i costrutti privi di un equivalente diretto (package, CONNECT BY, ROWNUM, join (+), transazioni autonome, ecc.) mantenendone il comportamento funzionale.

Migrazione dei dati

Trasferire tutti i vostri dati, senza alterazioni.
Adottiamo la strategia di trasferimento più adatta ai vostri volumi e alla vostra finestra di manutenzione: caricamento completo, migrazione a lotti o replica continua per ridurre al minimo il fermo del servizio. Gestiamo con cura le conversioni di tipo, i set di caratteri e i dati di grandi dimensioni (LOB).

Adattamento applicativo

Portare con sé le applicazioni.
Le query SQL integrate nel codice, i driver di connessione, gli ORM o le elaborazioni batch richiedono spesso degli adeguamenti. Individuiamo i punti da adattare e affianchiamo i vostri team di sviluppo, o il vostro fornitore software, affinché le applicazioni funzionino su PostgreSQL esattamente come prima.

Test e validazione

Dimostrare che nulla è andato perso.
Una migrazione è riuscita solo se è stata verificata. Confrontiamo i dati tra origine e destinazione (volumi, checksum, query funzionali fornite dai vostri team), convalidiamo il comportamento del codice convertito e misuriamo le prestazioni su elaborazioni rappresentative prima del passaggio in produzione.

Passaggio in produzione e supporto post-migrazione

Mettere in sicurezza l’avvio e ciò che segue.
Prepariamo e gestiamo il passaggio in produzione, con un piano di rollback. Dopo la migrazione ottimizziamo le prestazioni di PostgreSQL (configurazione, indicizzazione, piani di esecuzione) e realizziamo l’alta disponibilità e i backup adatti al vostro livello di esigenza. Possiamo inoltre formare i vostri team alla gestione del nuovo ambiente.

Altre migrazioni

Tutte le tecnologie di mercato.
La nostra esperienza si estende anche ad altre migrazioni tra DBMS o verso motori NoSQL, ad esempio da SQL Server a PostgreSQL o da PostgreSQL a MongoDB.