Database distribuito vs Database centralizzato
Il database centralizzato è un database in cui i dati vengono archiviati e gestiti in un'unica posizione. Questo è l'approccio tradizionale per la memorizzazione dei dati nelle grandi imprese. Il database distribuito è un database in cui i dati vengono archiviati in dispositivi di archiviazione che non si trovano nella stessa posizione fisica ma il database è controllato utilizzando un sistema di gestione database (DBMS) centrale.
Cos'è il database centralizzato?
In un database centralizzato, tutti i dati di un'organizzazione sono archiviati in un unico posto, ad esempio un computer mainframe o un server. Gli utenti in località remote accedono ai dati attraverso la WAN (Wide Area Network) utilizzando i programmi applicativi forniti per accedere ai dati. Il database centralizzato (il mainframe o il server) dovrebbe essere in grado di soddisfare tutte le richieste che arrivano al sistema, quindi potrebbe facilmente diventare un collo di bottiglia. Ma dal momento che tutti i dati risiedono in un unico posto, è più facile mantenere e eseguire il backup dei dati. Inoltre, è più semplice mantenere l'integrità dei dati, perché una volta che i dati sono archiviati in un database centralizzato, i dati obsoleti non sono più disponibili in altri luoghi.
Cos'è il database distribuito?
In un database distribuito, i dati vengono archiviati in dispositivi di archiviazione che si trovano in posizioni fisiche diverse. Non sono collegati a una CPU comune ma il database è controllato da un DBMS centrale. Gli utenti accedono ai dati in un database distribuito accedendo alla WAN. Per mantenere aggiornato un database distribuito, utilizza i processi di replica e duplicazione. Il processo di replica identifica le modifiche nel database distribuito e applica tali modifiche per assicurarsi che tutti i database distribuiti abbiano lo stesso aspetto. A seconda del numero di database distribuiti, questo processo potrebbe diventare molto complesso e dispendioso in termini di tempo. Il processo di duplicazione identifica un database come un database master e duplica il database. Questo processo non è complicato come il processo di replica ma si assicura che tutti i database distribuiti abbiano gli stessi dati.
Qual è la differenza tra il database distribuito e il database centralizzato?
Mentre un database centralizzato mantiene i suoi dati in dispositivi di archiviazione che si trovano in una singola posizione connessi a una singola CPU, un sistema di database distribuito mantiene i suoi dati in dispositivi di archiviazione che possono essere localizzati in diverse posizioni geografiche e gestiti utilizzando un DBMS centrale. Un database centralizzato è più facile da mantenere e da aggiornare poiché tutti i dati sono archiviati in un'unica posizione. Inoltre, è più semplice mantenere l'integrità dei dati ed evitare il requisito della duplicazione dei dati. Ma tutte le richieste che arrivano ad accedere ai dati vengono elaborate da una singola entità come un singolo mainframe e quindi potrebbe facilmente diventare un collo di bottiglia. Ma con i database distribuiti, questo collo di bottiglia può essere evitato poiché i database sono parallelizzati, rendendo il bilanciamento del carico tra diversi server. Ma mantenere i dati aggiornati nel sistema di database distribuito richiede un lavoro aggiuntivo, quindi aumenta il costo di manutenzione e complessità e richiede anche software aggiuntivo per questo scopo. Inoltre, la progettazione di database per un database distribuito è più complessa della stessa per un database centralizzato.