• I database Server
  • Rispetto ad un File Server..
  • Architettura DBMS
Un DBMS può essere costituito da un insieme complesso di programmi software che controllano l'organizzazione, la memorizzazione e il reperimento dei dati (campi, record e archivi) in un database. Un DBMS controlla anche la sicurezza e l'integrità del database. Il DBMS accetta richieste di dati da parte del programma applicativo e "istruisce" il sistema operativo per il trasferimento dei dati appropriati.
Rispetto ad un file server come un Nas ha un software server che gestisce: - La comunicazione con i client - Il formato e la gestione dell'archiviazione delle informazioni - Il controllo della sicurezza per l'accesso a tali dati - La condivisione delle informazioni - Il controllo della concorrenza nella scrittura Gli archivi del database possono essere memorizzati sui Nas per sfruttarne velocità e protezione.
Un DBMS è uno strumento per la creazione e la gestione efficiente di grandi quantità di dati che consente di conservarli in modo sicuro per lunghi periodi di tempo. Un DBMS fornisce agli utenti questi servizi: Persistent storage: come un file system, un DBMS permette la memorizzazione di grandi quantità di dati, ma garantisce una flessibilità molto più elevata Programming interface: permette agli utenti di accedere e modificare i dati attraverso un potente linguaggio di interrogazione Transaction management: supporta l'accesso concorrente ai dati evitando conseguenze indesiderate dovute a crash del sistema o dell'applicazione Si considerano due diversi tipi di utenti: utenti convenzionali/applicazioni che modificano dati e formulano interrogazioni l'amministratore della base di dati (database administrator - DBA) responsabile per la struttura, lo schema e la gestione della base di dati Nell'architettura di un DBMS abbiamo le seguenti sezioni: Dischi e file Storage manager Buffer manager Index/file/record manager Execution engine Query compiler Concurrency control Logging/recovery Transaction manager Recovery Management Una suddivisione alternativa semplificata (ma parziale), utile a comprendere per linee generali il comportamento di un DBMS, potrebbe essere questa: Gestore delle interrogazioni Gestore dei metodi di accesso Gestore del buffer (Buffer manager)