ISAM
Da Wikipedia, l'enciclopedia libera.
ISAM è l'acronimo di Indexed Sequential Access Method (metodo di accesso sequenziale indicizzato), ed è una modo per immagazzinare dati da estrarre rapidamente. È stato sviluppato originariamente da IBM e oggi costituisce la base per l'immagazzinamento dei dati in tutti i database, sia relazionali che non.
In un sistema ISAM i dati sono suddivisi in record che sono composti da campi a lunghezza fissa. I record sono immagazzinati in sequenza, 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 doverlo cercare nell'intero insieme di dati. Questa è una differenza rispetto ai database navigazionali, dove i puntatori ad altri dati si trovavano dentro i record stessi. Il miglioramento chiave in ISAM è che gli indici sono di piccole dimensioni e possono essere utilizzati per effettuare ricerche veloci, perché consentono al database di accedere soltanto ai record di cui ha bisogno. Inoltre le modifiche ai dati richiedono che si modifichino i record e gli indici in questione, ma non altri dati.
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 - 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 alla possibilità che le modifiche dei dati entrino in conflitto tra loro, creando così delle 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 superiore rispetto all'immagazzinamento dei dati.
ISAM è stato rimpiazzato all'IBM da un metodo chiamato VSAM (Virtual Sequential Access Method). Successivamente la società sviluppò DB2, che ancor oggi è il suo DBMS primario.