A partire da febbraio 2012, la maggior parte dei database è costituita da software server e da una serie di file che risiedono tutti su un singolo computer. Approcci più avanzati utilizzano diversi computer e molti file, a volte in posizioni diverse. I metodi paralleli e distribuiti migliorano la velocità di accesso per database molto grandi, l'accesso per le organizzazioni geograficamente disperse e l'affidabilità per le applicazioni che dipendono dal tempo di attività.

Computer mainframe

Struttura

Un database distribuito ospita i dati in due o più computer server in posizioni separate. Ad esempio, una sede a Chicago ha un database e un magazzino a Kansas City ne ha un altro. I due condividono un collegamento su Internet in modo tale che il database di Chicago riceva i registri delle spedizioni da Kansas City ogni notte. Un tipico database parallelo risiede in una posizione con un set di file, sebbene diversi computer condividano il carico di lavoro.

Velocità

Il vantaggio principale di un database parallelo è la velocità. Come un database standard in esecuzione su un computer, un database parallelo riceve le richieste Structured Query Language o SQL richieste dagli utenti. Il server li suddivide in una serie di passaggi, quindi li esegue. Un server di database standard esegue tutti i passaggi da solo, mentre un database parallelo assegna i passaggi a computer diversi. Quando ogni computer termina la propria attività, il database assembla le informazioni e invia i risultati all'utente. Poiché ogni computer funziona solo su una parte del lavoro, insieme completano una richiesta SQL in molto meno tempo. Man mano che i requisiti del database di un'organizzazione aumentano, si aggiungono computer al database parallelo per soddisfare il maggiore carico di lavoro.

Accesso

I database distribuiti migliorano l'accesso, poiché ogni ufficio locale ha il proprio database. La maggior parte delle transazioni SQL avviene a livello di ufficio senza i ritardi sostenuti dalle reti di dati a lunga distanza. Ogni database locale ha informazioni in comune con gli altri, ma può anche avere dati univoci per la posizione. Periodicamente, i database locali si sincronizzano su una rete interurbana per rimanere aggiornati l'uno con l'altro. Al contrario, un database parallelo non migliora l'accesso alle posizioni remote.

Affidabilità

Database distribuiti e paralleli affrontano l'affidabilità in diversi modi. Un database in esecuzione su un singolo computer dipende interamente dall'affidabilità di quella macchina: nel momento in cui il computer si arresta in modo anomalo, il database diventa non disponibile. La maggior parte dei database paralleli ha una funzione che monitora lo stato di ciascun computer; in caso contrario, il programma server lo rimuove dal servizio ma il database rimane disponibile, sebbene a prestazioni ridotte. Per un database distribuito, i restanti server locali continuano a elaborare le informazioni se si sviluppa un problema; l'interruzione riguarda solo gli utenti locali al computer guasto.