ISAM

Da Wikipedia, l'enciclopedia libera.

ISAM è l'acronimo di Indexed Sequential Access Method (metodo di accesso sequenziale indicizzato), ed è un modo per immagazzinare dati da estrarre rapidamente. Sviluppato originariamente da IBM, costituisce oggi la base per l'immagazzinamento dei dati in molti database, relazionali e non.

In un sistema ISAM i dati sono suddivisi in record composti da campi a lunghezza fissa. I record sono immagazzinati in sequenza, come si faceva in origine per velocizzare l'accesso da una periferica a nastro. Vi è poi un set secondario di tabelle hash chiamate indici, che contengono puntatori ai record, in modo che un record possa essere estratto senza dover scorrere l'intero insieme di dati. Questa è una differenza rispetto ai database navigazionali, nei quali i puntatori ad altri dati si trovavano dentro i record stessi. Il miglioramento in ISAM è dovuto al fatto che gli indici sono di piccole dimensioni e consentono ricerche veloci, perché il database accede soltanto ai record di cui ha bisogno. Inoltre eventuali modifiche ai dati richiedono che si modifichino i record e gli indici in questione, ma non altri dati come i puntatori.

I database relazionali possono essere facilmente costruiti su un framework ISAM con l'aggiunta della logica per mantenere validi i collegamenti tra le tabelle. In genere il campo utilizzato come collegamento, detto chiave esterna, è indicizzato per permettere ricerche veloci. Questo metodo è più lento che immagazzinare il puntatore ai dati collegati dentro al record, però se si modifica la struttura fisica dei dati non vi è la necessità di aggiornare i puntatori, in quanto i collegamenti rimangono validi.

ISAM è molto semplice da comprendere e da implementare, perché consiste essenzialmente nell'accesso diretto e sequenziale a un file di database. È anche molto poco costoso in termini di prestazioni. Lo svantaggio è che ogni macchina client deve gestire una sua propria connessione per ogni file a cui accede. Ciò comporta la possibilità che distinte modifiche dei dati entrino in conflitto tra loro, creando così incoerenze. Questo problema viene generalmente risolto con l'implementazione di una piattaforma client-server che gestisce le richieste dei client mantenendo l'ordine. È questo il concetto base che sta dietro l'SQL, che si trova a un livello di astrazione superiore rispetto all'immagazzinamento dei dati.

ISAM è stato rimpiazzato all'IBM da un metodo chiamato VSAM (Virtual Sequential Access Method), utilizzato anche nel DB2, che ancor oggi è il suo DBMS primario.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]