Nella gestione dei dati su disco, il DBMS non opera direttamente sui singoli record, ma su blocchi di dati, unità fondamentali di trasferimento tra memoria secondaria e memoria principale. L’organizzazione fisica dei blocchi e le modalità di accesso incidono direttamente sulle prestazioni del sistema, determinando i tempi di lettura e scrittura e influenzando l’efficienza complessiva delle operazioni di I/O.
N.B. Nei DBMS una pagina corrisponde fisicamente a un blocco di disco; i termini sono usati in modo equivalente a seconda del livello di astrazione.
TEMPO DI RISPOSTA
Response time = Service time + Queueing time
È il tempo totale che intercorre tra la richiesta di I/O e il completamento dell’operazione (tempo di accesso a un blocco).
Queueing time:
Tempo di attesa nella coda delle richieste di I/O, dovuto a richieste concorrenti. Dipende dal carico del sistema.
Service time
È il tempo necessario al disco per servire effettivamente una richiesta. Dipende dalla struttura fisica e dalla tecnologia del dispositivo. Nel caso di HDD:
Service time = Seek time + Rotational delay + Transfer time
Guarda il funzionamento di un hard disk
- Seek time: tempo per posizionare le testine sulla traccia corretta
- Rotational delay: tempo di attesa affinché il settore richiesto passi sotto la testina
- Transfer time: tempo necessario per leggere o scrivere i dati una volta che il settore è sotto la testina
TIPOLOGIE DI ACCESSO
Nel caso di HDD le tipologie di accesso a un blocco sono due, e anche da queste dipende il service time finale.
Elementi utili e abbreviazioni: Block size (BS): dimensione del blocco di dati (es. 4096 bytes ≈ 4 Kb). Seek time (SK): tempo necessario a spostare il braccio attuatore dell’hard disk fino alla traccia corretta (es. 8.9 ms). Rotation time (ROT): tempo necessario al disco per compiere una rotazione completa dei piatti. Determina il ritardo di rotazione; in media, l’attesa per un settore è pari a ROT/2 (mezzo giro). Transfer rate (TR): velocità con cui i dati vengono trasferiti tra il disco e la memoria. Dipende dalla densità dei dati sul disco e dalla velocità di rotazione. (es. 150 MBps).
Random Block Access (RBA)
Il blocco è indipendente da quello precedente (serve riposizionare la testina).
Costo di servizio:
Sequential Block Access (SBA)
Il blocco è contiguo al precedente e la testina è già posizionata correttamente (si continua a leggere lungo la traccia precedente). Dunque non serve calcolare il tempo di seek.
Costo di servizio: