Analisi del carico della base dati
In fase di progettazione logica devo formulare delle previsioni sul carico futuro della base dati. Non è un'operazione facile ma è necessaria.
A cosa serve? Il carico applicativo mi consente di avere una prima valutazione sulle prestazioni della base dati.
Le principali difficoltà sono le seguenti:
- E' impossibile prevedere ogni applicazione futura della base dati. Pertanto si lavora prevalentemente sulle operazioni principali di una base dati. Tuttavia, secondo una regola empirica abbastanza affidabile, circa l'80% del carico di una base dati è composto dal 20% delle operazioni possibili.
- Le performance reali di una base dati sono influenzate anche dalle caratteristiche fisiche. Ad esempio, l'hardware del server, le caratteristiche del software DBMS, la banda del server, ecc. Tutte queste informazioni non sono ancora conosciute in fase di progettazione logica.
Pertanto, il risultato dell'analisi delle prestazioni è essenzialmente una stima indicativa delle performance della base dati.
Le operazioni
Per prima cosa occorre stilare un elenco delle principali operazioni che potranno essere svolte sulla base dati.
Per ogni operazione va indicata
- Codice dell'operazione
Un titolo o un codice ed eventuale una breve descrizione dell'operazione. - Tipo di operazione
La tipologia di operazione: batch o interattiva. Nota. Le operazioni batch sono operazioni pianificate da altri programmi in particolari momenti della giornata. Le operazioni interattive hanno origine da richieste degli utenti della base dati. - Frequenza di utilizzo
La frequenza media di esecuzione dell'operazione in un intervallo di tempo (ora, giorno, settimana, mese)
Ecco alcune operazioni di esempio.
A ogni operazione va associato un costo.
Il costo dell'operazione dipende dal numero di occorrenze di entità e relazioni sul modello concettuale E-R.
Il volume dei dati
A ogni entità e relazione del modello concettuale è associato il relativo volume dei dati.
Il volume dei dati influisce sullo spazio di memoria per memorizzare i dati e sul costo delle operazioni per accedere ai dati in lettura e/o scrittura.
Rappresento il volume dei dati delle entità e delle relazioni in un'apposita tabella detta tavola dei volumi.
Esempio
Questo semplice modello concettuale è composto da due entità e una relazione.
Se l'entità PERSONE è composta da 1000 occorrenze e l'entità CITTA' è composta da 100 occorrenze, allora la relazione NASCITA è composta da meno di 1000 occorrenze perché alcune persone non sono in relazione con nessuna città.
Ad esempio, se in media circa il 20% delle persone non fornisce il proprio luogo di nascita, allora la relazione NASCITA ha 800 occorrenze.
Ecco la tavola dei volumi del modello concettuale.
Ovviamente si tratta di stime e non di dati certi.
E così via.