9651A_3 - Politecnico di Torino

advertisement
Politecnico di Torino
CeTeM
Sistemi Informativi Aziendali (9651A)
3
Descrizione dei sistemi informativi
Introduzione
Questo modulo descriverà brevemente le caratteristiche dei sistemi informativi. È il terzo
dei quattro moduli su cui è articolato il corso di Sistemi Informativi Aziendali (9651A).
Fanno parte di questo modulo le lezioni dalla 21 alla 32 comprese.
Per le lezioni 21, 22 e 23 è possibile fare riferimento ai lucidi utilizzati dal Prof. Paolo
Tiberio, disponibili su carta presso il CETEM.
La lezione 24, sull'uso di Access, richiede la visione della videocassetta, essendo
decisamente improntata all'uso pratico del calcolatore.
Per le lezioni dalla 25 alla 30 (comprese) il riferimento è ai lucidi (per lo più coincidenti con
i lucidi presentati nelle videocassette) utilizzati dal Prof. Stefano Ceri, e da lui gentilmente
forniti. Tali lucidi sono disponibili in forma elettronica sul sito del CETEM (insieme a queste
dispense). Il riferimento per le lezioni dalla 25 alla 30 è alle lezioni dalla 9 alla 14 nei lucidi
appena menzionati.
Infine le lezioni 31 e 32 costituiscono una introduzione a Internet e all'uso di Web e Basi di
Dati.
Si ricorda che il libro di riferimento per la teoria è Basi di Dati (da ora BDD) di Atzeni, Ceri,
Paraboschi, Torlone, seconda edizione (1999), McGraw-Hill editore (ISBN 88 386 0824-5).
Memorie permanenti
Un calcolatore adibito all'uso di data server deve disporre di una buona potenza
elaborativa. Questo si traduce in una elevata velocità della CPU, una buona disponibilità di
memoria centrale (anche detta memoria di servizio), e soprattutto in una elevata capacità
e velocità della memoria permanente (dischi).
In particolare lo sviluppo delle prestazioni delle memorie permanenti è importante al fine di
sfruttare appieno l'incremento nelle prestazioni delle CPU (attualmente le prestazioni
generali tendono ad aumentare di circa 1.5 volte ogni anno).
I dischi attualmente in uso hanno velocità di rotazione tra 5400 e 10000 giri al minuto, con
capacità complessive fino a 75 GB (disco EIDE IBM DTLA-307075 UDMA 100 7200
giri/min, ~1.5 milioni di lire nel settembre 2000).
È anche molto importante la tecnologia in uso nei CD riscrivibili e non, che proprio in
queste settimane è giunta ad una velocità di 10x nei CD-RW e a 12x nei CD-R con
tecnologia burn-proof (Plextor 12/10/32A EIDE ~600000 lire), al fine di evitare lo spreco
dei CD-R dovuto a scorrette masterizzazioni.
I dischi nei data server sono sovente organizzati mediante RAID (Redundant Array of
Inexpensive Disks). In particolare sono usati i livelli di RAID 0 (striping, massime
prestazioni), 1 (mirroring, spreco di metà spazio ma sicurezza massima), e 5 (un solo
disco supplementare contenente i bit di parità).
Metodi di accesso
All'interno delle memorie permanenti i dati sono immagazzinati sotto forma di file. Tali file
vengono indirizzati tramite una tabella (directory) che viene consultata dal File System o
dal DBMS, e che contiene le informazioni sui file stessi.
Nel corso delle elaborazioni può essere necessario accedere ai file in modo sequenziale
(ad esempio per fare una ricerca lineare), oppure effettuare altre operazioni quali
l'ordinamento del contenuto. Queste operazioni sono influenzate fortemente dagli
algoritmi adottati.
© Politecnico di Torino
Data ultima revisione 01/06/2017
Pagina 1 di 4
Autore: Bartolomeo Montrucchio
Politecnico di Torino
CeTeM
Sistemi Informativi Aziendali (9651A)
3
Descrizione dei sistemi informativi
Calcolo dei costi di accesso
Durante l'esecuzione delle query SQL l'importanza dell'ordinamento dei dati risulta
fondamentale.
L'uso di ordinamenti e di indici permette di migliorare drasticamente le prestazioni, ma un
eccesso di indicizzazione è nocivo per il DB, a causa dell'elevato numero di modifiche che
devono essere effettuate ad ogni operazione di aggiornamento del database.
L’ordinamento delle relazioni e l’uso di indici permettono poi all’ottimizzatore del DBMS
relazionale di valutare quale sia la migliore strategia di accesso per le interrogazioni SQL
degli utenti.
Un esempio di DBMS: Microsoft Access
Microsoft Access è un database relazionale per PC di medie prestazioni e dotato di una
interfaccia utente molto amichevole.
L’interfaccia utilizzata per l’inserimento delle query è il QBE (Query By Example),
interfaccia per alcuni versi competitiva con SQL e particolarmente adatta all’uso interattivo.
Access permette l’uso sia di SQL sia di QBE, anche se l’interfaccia di default è QBE.
La videocassetta mostra le modalità di creazione di uno schema e l’uso di SQL e QBE.
Si noti come alcune query non siano realizzabili con l’uso del solo QBE. In particolare l’uso
di UNION può essere impossibile.
Sistemi transazionali e controllo di concorrenza
Una transazione è una unità di elaborazione che gode di quattro proprietà (da cui
l’acronimo ACID).
1. Atomicità; la transazione è una trasformazione atomica dallo stato iniziale a quello
finale.
2. Consistenza; se lo stato iniziale è corretto allora anche lo stato finale è corretto.
3. Isolamento; la transazione non risente degli effetti delle altre transazioni concorrenti.
4. Durata (persistenza); gli effetti di un “commit work” (cioè transazione completata con
successo) durano per un tempo illimitato.
Le transazioni possono essere svolte serialmente, cioè iniziando la transazione due solo
dopo aver completato la transazione uno, oppure in modo concorrente (transazione uno e
due svolte in contemporanea). Qualora le transazioni vengano svolte in modo concorrente
è necessario garantire l’assenza di conflitti mediante le primitive di lock, da utilizzare prima
di leggere (lock in lettura) o scrivere (lock in scrittura).
Tecnologia dei sistemi informativi
L’architettura client-server prevede che il CLIENT si limiti a presentare l’informazione,
mentre il SERVER gestisce i dati. La rete (LAN, MAN, WAN) trasferisce i dati (ad esempio
i comandi SQL dal client al server).
La base dati può essere replicata, oppure distribuita (su più macchine), oppure parallela
(mediante l’uso di macchine multiprocessore).
Oltre all’ ”ambiente operativo” (usato per modificare i dati in linea) può essere presente l’
“ambiente di analisi”, utilizzato per analizzare i dati a fini statistici (DATA WAREHOUSE)
fuori linea.
© Politecnico di Torino
Data ultima revisione 01/06/2017
Pagina 2 di 4
Autore: Bartolomeo Montrucchio
Politecnico di Torino
CeTeM
Sistemi Informativi Aziendali (9651A)
3
Descrizione dei sistemi informativi
Esistono anche sistemi cosiddetti LEGACY (cioè ereditati), basati perlopiù su mainframe
(con terminali collegati); essi sono normalmente obsoleti, ma spesso preziosi.
Controllo di affidabilità
L’affidabilità delle basi di dati è data dalle proprietà ACID. In particolare per garantire la
memoria stabile (astrazione per indicare una memoria incorruttibile) si usano vari sistemi
di backup tra cui il mirroring dei dischi e la replicazione tramite unità a nastro.
Il giornale di transazione (registrato in memoria stabile) registra le azioni svolte dalla
transazione sotto forma di transizioni di stato. Tramite il giornale si può effettuare il rollback di una transazione (annullare l’effetto di una transazione non completata) oppure
riparare l’effetto di un guasto dopo un commit.
Basi di dati distribuite
La distribuzione dei dati, cioè la possibilità di distribuire i dati su vari elaboratori collegati in
rete locale e non (eventualmente ogni elaboratore può anche utilizzare un database
differente dagli altri), è dovuta a vari fattori:
 la natura intrinsecamente distribuita delle organizzazioni;
 l'evoluzione degli elaboratori, con conseguente aumento delle capacità di calcolo e
riduzione dei prezzi;
 l'evoluzione dei DBMS;
 la creazione di standard di interoperabilità.
La distribuzione (su LAN o WAN) di una base di dati comporta però anche problemi:
 difficoltà nel gestire l'autonomia dei vari agenti, assicurando nel contempo la massima
cooperazione;
 necessità di gestire la trasparenza della distribuzione dei dati;
 problemi di efficienza nelle transazioni;
 esigenza di assoluta affidabilità (garantita dal protocollo di commit a due fasi).
Architetture evolute dei sistemi informativi
In questa sezione vengono descritte le basi di dati parallele, le basi di dati replicate e il
data warehouse.
Le basi di dati parallele permettono di utilizzare numerosi processori, cooperanti in
un'unica architettura informatica, al fine di aumentare le prestazioni. Questo sia nel caso di
carico transazionale (molte transazioni brevi, tipico della produzione), sia nel caso di
analisi dei dati (poche transazioni molto complesse, magari effettuate off-line su copie del
database, addirittura suddividendo la transazione sui vari processori).
Le basi di dati replicate sono invece utilizzate al fine di aumentare efficienza, affidabilità e
autonomia delle basi di dati. La base di dati principale viene cioè duplicata, eventualmente
in tempi variabili. Un tipico esempio può essere il catalogo a disposizione degli agenti di
vendita mobili, situato su di un computer portatile e per forza di cose sconnesso dalla rete
per tempi variabili.
Il data warehouse è invece un ambiente per l'analisi dei dati. Mentre infatti la gestione dei
dati "in linea" (On Line Transaction Processing, OLTP) viene effettuata dal DBMS,
l'elaborazione e l'analisi dei dati (pur essendo comunque effettuabili tramite il DMBS
utilizzando SQL), vengono meglio gestite mediante un opportuno server OLAP (On Line
© Politecnico di Torino
Data ultima revisione 01/06/2017
Pagina 3 di 4
Autore: Bartolomeo Montrucchio
Politecnico di Torino
CeTeM
Sistemi Informativi Aziendali (9651A)
3
Descrizione dei sistemi informativi
Analytical Processing) (p. 481 BDD). Questo server è il data warehouse, che svolge per
OLAP il ruolo che il DBMS svolge per OLTP. I dati per l'ambiente OLAP vengono peraltro
sempre forniti dal sistema OLTP.
Modelli e linguaggi per l'analisi dei dati
Come già detto le limitazioni dell'OLTP sono legate alla difficoltà d'uso e alla rigidità che,
pur permettendo un buon utilizzo operativo, rendono difficile un uso strategico (decisioni di
marketing o altro). La risposta a tutto ciò è l'OLAP. È in tal modo possibile il data mining
(letteralmente scavare nella miniera dei dati), il cui obiettivo è estrarre informazione
nascosta nei dati al fine di consentire decisioni strategiche. Un semplice esempio di data
mining riguarda i prodotti acquistati insieme o in sequenza (sorprendentemente un caso è
quello dei pannolini e della birra).
Introduzione a Internet e Web e basi di dati
Le due ultime lezioni del terzo modulo riguardano un'introduzione a Internet, con una
breve storia di Internet (nata, come noto ai più, per scopi militari) e una carrellata sui
protocolli più usati.
La seconda lezione di Piero Fraternali riguarda poi la connessione tra le basi di dati e il
Web, quindi l'uso di HTTP, HTML, CGI e altro.
Si raccomanda perciò la visione della cassetta contenente le due lezioni.
© Politecnico di Torino
Data ultima revisione 01/06/2017
Pagina 4 di 4
Autore: Bartolomeo Montrucchio
Scarica