Presentazione
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Presentazione

on

  • 987 views

 

Statistics

Views

Total Views
987
Views on SlideShare
982
Embed Views
5

Actions

Likes
0
Downloads
5
Comments
0

1 Embed 5

http://www.slideshare.net 5

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Presentazione Presentation Transcript

  • 1. Facoltà di Ingegneria Università degli Studi di Trieste Tesi di Laurea in Sistemi Informativi Aziendali “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Relatore: Piero De Tomi chiar. mo prof. Felician Leonardo Anno Accademico 2008-2009
  • 2. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Perché migrare da Access a SQL Server?
    • Solitamente Access è usato per lo sviluppo di applicazioni-prototipi
    • Col crescere della quantità di dati, Access comincia a non essere più la soluzione adatta:
    • Necessità di una gestione più efficiente del database
    • Il sistema informativo di OnLife era precedentemente composto da:
      • Due file *.mdb, contenenti il database e le query;
      • Un terzo file *.mdb, contenente il software del Sistema Informativo (moduli, classi, maschere...).
    • Il database era composto da 70 tabelle e 74 relazioni. Struttura grande e complessa.
    • Per citare qualche numero significativo:
      • Tabella Quotazioni – 236580 records
      • Tabelle PostaArchivio e Posta – 132959 records (ciascuna)
      • Tabella Prospect – 50103 records
      • Tabella ProspectArchivio – 80634 records
      • Tabella Email – 56111 records
      • ...
    • SQL Server è un RDBMS, non permette lo sviluppo di applicazioni visuali per l’ accesso ai dati
            • Migrazione database e sviluppo nuova applicazione, eventualmente in ambiente diverso da VBA
    • Due possibilità
            • Migrazione database e manutenzione evolutiva/adattativa dell’ applicazione preesistente in Access
  • 3. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Gli obiettivi della migrazione del database di OnLife
    • Si è scelto di migrare la base di dati e mantenere l’ applicazione Access originale (effettuando la manutenzione necessaria)
    • Dopo la migrazione:
      • Database, Viste, Stored Procedures
      • e User Defined Functions su SQL Server;
      • Software del Sistema Informativo
      • (moduli/classi, maschere...) su Access
      • (Access Project *.adp).
    • Obiettivo principale
    • Dopo la migrazione i tempi di risposta del sistema informativo dovevano migliorare o, al più, rimanere invariati.
  • 4. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Modalità di migrazione scelta
    • Ci sono principalmente tre modalità di migrazione:
      • Completamente manuale: può andare bene per database di piccole dimensioni (meno di 20 tabelle)
      • Totalmente automatizzata: si affida tutto il lavoro ad uno strumento software di migrazione
      • È necessario, in ogni caso, un controllo ed eventuali modifiche di errori alla fine della migrazione. Anche questa si rivela una soluzione buona per database con non più di 20 tabelle (rischio di avere troppi errori non gestiti in fase di esportazione).
      • Ibrida: migrazione della struttura grazie ad uno strumento software e controllo/correzione manuale. Migrazione dei dati con delle query ad - hoc.
    • È stata scelta la soluzione ibrida, che si adatta meglio a database di grandi dimensioni
  • 5. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Elaborazione e pianificazione di una buona strategia di migrazione
    • È un passo fondamentale nella migrazione di un database, soprattutto se esso è di grosse dimensioni.
    • Bisogna considerare le caratteristiche e la configurazione del sistema di partenza, gli obiettivi, gli strumenti a disposizione…
    • È opportuno organizzare il lavoro, pianificandolo in modo sistematico e (all’ occorrenza) iterativo: è importante non perdersi nei dettagli sin dall’ inizio.
    • La strategia elaborata per la migrazione della base di dati di OnLife era composta dai seguenti passi:
      • Migrazione della struttura del database mediante l’Upsizing Tool di MS Access 2003;
      • Controllo sulla qualità della struttura: correzione di eventuali errori;
      • Controllo sulla quantità dei dati: non devono essere persi dei dati;
      • Creazione manuale delle relazioni sul nuovo database (eventuale modifica di datatype dei campi coinvolti nelle relazioni);
      • Migrazione delle query: eventuale modifica per la compatibilità col T-SQL;
      • Eventuale aggiunta di nuovi vincoli e funzionalità (Triggers);
  • 6. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Elaborazione e pianificazione di una buona strategia di migrazione
      • Manutenzione del codice VBA del back end, per renderlo correttamente funzionante nell’ interazione con SQL Server;
      • Test e debug;
      • Creazione del database sul server in rete e migrazione vera e propria dei dati di produzione;
      • Installazione del Sistema Informativo in ambiente aziendale: test, collaudo e manutenzione.
  • 7. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Le cose da sapere prima di iniziare il lavoro
    • L’ Upsizing Tool di Access presenta delle “mancanze”:
      • Gestione dei valori NULL sulle tabelle migrate;
      • Corrispondenza tra i datatype: i tipi TEXT/NTEXT ed IMAGE;
      • Migrazione delle relazioni: errori non rivelati e comportamento imprevedibile del tool.
    • Il linguaggio SQL utilizzato da Microsoft Access è diverso dal linguaggio utilizzato nelle query su SQL Server: il Transact-SQL (T-SQL).
  • 8. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi La migrazione
    • Lavorare sui dati di produzione comporterebbe un blocco della stessa, cosa che non è accettabile
    • Si lavora con una copia dei dati
    • Si eseguono tutti gli steps già elencati in precedenza
    • Terminato il lavoro, si è pronti per la migrazione dei dati “reali” al database di produzione, sul server in rete
  • 9. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Novità nel Sistema Informativo: pseudo - paginazione dei risultati
    • Quando si hanno query che restituiscono migliaia di record o query complicate dal punto di vista strutturale (e quindi lente nella loro esecuzione), visualizzare tutti i risultati in una maschera può richiedere molto tempo.
    • Da un’ analisi è risultato che gli utenti del sistema informativo raramente hanno bisogno di visionare una quantità maggiore dei primi 50 record di una maschera, pertanto è stato sviluppato un meccanismo che visualizzasse inizialmente solo i primi 50 risultati in ogni maschera. Qualora l’ utente lo desideri, potrà vederne di più, specificandolo tramite un’ apposita combobox.
  • 10. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Software automatizzato per la migrazione dei dati al database di produzione
    • Evidentemente, vista la grande mole di dati presenti nel database di OnLife, era necessario rendere la migrazione dei dati in qualche modo automatizzata.
    • È stato realizzato un software per eseguire la migrazione in modo automatizzato, tabella dopo tabella
    • In questo modo, è stato possibile eseguire il software di migrazione a fine giornata lavorativa, lasciandolo lavorare anche la notte; il giorno seguente la migrazione dei dati era già completa e si poteva procedere con l’ installazione del nuovo Sistema Informativo nelle macchine aziendali.
    • DETTAGLIO IMPLEMENTATIVO: l’ IDENTITY_INSERT
    • Eseguire una query di inserimento in una tabella che ha un’ identità con auto-incremento non è possibile: bisogna inibire l’ IDENTITY_INSERT prima di eseguire la query.
  • 11. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Stima del tempo totale di migrazione
    • I tempi di esecuzione del software di migrazione in locale sono diversi da quelli in azienda
    • In locale  tempi più bassi. Il database si trova sullo stesso calcolatore sul quale viene eseguito il programma
    • In azienda  tempi più lunghi. Il database si trova in rete.
    • I test per ricavare la stima del tempo di migrazione non possono essere fatti in locale, in quanto il risultato non sarebbe verosimile.
  • 12. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Stima del tempo totale di migrazione
    • L’ idea è quella di fare una stima del tempo richiesto dalla migrazione, sulla base dei dati forniti dal log del software di migrazione, ottenuto durante qualche test di prova sul database in rete.
    • Si riassumono in una tabella:
      • Numero record da migrare per la tabella;
      • Ora inizio migrazione (della tabella);
      • Ora fine migrazione (della tabella).
    • Si ricavano:
      • Tempo totale di migrazione (in secondi);
      • Tempo medio per la migrazione di un
      • record della singola tabella (in secondi).
    0,020 4.740 1.29.54 23.10.43 236.580 0,032 4.380 20.34.32 19.11.50 132.959 0,029 3.960 21.50.15 20.34.32 132.959 0,033 2.700 22.35.17 21.50.15 80.634 0,034 1.920 17.48.28 17.16.33 56.111 0,021 1.140 23.04.53 22.35.18 52.331 0,033 1.680 19.11.50 18.43.44 50.122 0,035 1.800 18.40.08 18.10.56 50.103 0,033 1.140 18.07.28 17.48.29 33.862 0,028 180 18.43.44 18.40.08 6.374 0,047 300 23.10.43 23.05.26 6.292 0,036 180 18.10.56 18.07.57 4.896 0,051 120 1.33.17 1.31.50 2.315 0,053 120 1.31.50 1.29.54 2.239 0,034 18 23.05.11 23.04.53 515 0,032 11 23.05.22 23.05.11 343 0,033 6 17.16.33 17.16.27 180 0,034 4 18.07.44 18.07.40 115 0,036 4 18.07.32 18.07.28 111 0,035 3 18.07.49 18.07.46 85 0,027 2 18.07.37 18.07.35 74 0,033 2 18.07.54 18.07.52 59 0,029 1 23.05.26 23.05.25 34 Tempo singolo record (s) Tempo totale (s) Ora fine Ora inizio Quantità record
  • 13. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Stima del tempo totale di migrazione
    • Grazie ai dati della tabella costruita, si ricava il tempo medio di migrazione di un record, indipendentemente dalla tabella presa in considerazione: esso è di 0,034 secondi.
    • Considerando che il numero di record totali di cui effettuare la migrazione sono 849.810 , si ricava una stima approssimativa del tempo totale di migrazione della base di dati:
    • TEMPO TOT. = (849.810 * 0,034) s = 28.893,54 s = 8h e 1 min
    • Una stima abbastanza verosimile, se si considera che la vera migrazione della base di dati è durata 7 ore e 34 minuti (è stato commesso un errore nella stima di soli 27 minuti).
  • 14. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi L’ opinione degli utenti
    • Di seguito è riportato un commento di un utente del sistema informativo di OnLife:
    • " Dal punto di vista utente, la migrazione del database è un passo in avanti importante soprattutto per la velocità, ma anche per la stabilità del sistema. La velocità è davvero sorprendente! Si riesce a rispondere nei tempi più brevi ai clienti: questo gioca anche sulla qualità del servizio. Il fatto che il sistema non cade più facilita molto la gestione. Con il vecchio sistema il programma cadeva dopo ogni stipula manuale, dopo l’invio di una mail, dopo il cambio dello status dei cliente...
    • Di “bug” non ce n’ erano tanti, per nominarne alcuni:
      • Impossibilità di cambiare i dati del cliente (ad es. l’ Indirizzo...);
      • Ordinamento dei dati nelle maschere;
      • Aggiornamento della maschera dopo la stipula... “
    • Man mano che sono stati scoperti dei problemi nel sistema, questi sono stati corretti al più presto.
    • Ormai la quasi totalità dei problemi sono stati risolti, il più delle volte i nuovi problemi che vengono scoperti sono piccoli e non richiedono più di una mezz’ ora di lavoro per la loro soluzione.
  • 15. “ Migrazione della base di dati operativa di un’ assicurazione vita diretta” Laureando: Piero De Tomi Conclusioni
    • I tempi di risposta del Sistema Informativo sono migliorati, la migrazione ad SQL Server si è rivelata una buona soluzione
    • Obiettivo iniziale raggiunto
    • Il nuovo database su SQL Server e il software del Sistema Informativo su cui è stata fatta la manutenzione sono attualmente in uso in produzione, presso l’ azienda La Vita S.p.A.