Sommario:
Definizione - Cosa significa clustering?
Il clustering, nel contesto di database, si riferisce alla capacità di più server o istanze di connettersi a un singolo database. Un'istanza è la raccolta di memoria e processi che interagiscono con un database, ovvero l'insieme di file fisici che memorizzano effettivamente i dati.
Il clustering offre due vantaggi principali, soprattutto in ambienti di database ad alto volume:
- Tolleranza agli errori: poiché vi sono più di un server o istanza a cui gli utenti possono connettersi, il clustering offre un'alternativa, in caso di errore del singolo server.
- Bilanciamento del carico: la funzionalità di clustering è in genere impostata per consentire agli utenti di essere allocati automaticamente al server con il minor carico.
Techopedia spiega il clustering
Il clustering assume forme diverse, a seconda della modalità di archiviazione e allocazione dei dati. Il primo tipo è noto come architettura del nulla condiviso. In questa modalità di clustering, ogni nodo / server è completamente indipendente, quindi non esiste un singolo punto di contesa. Un esempio di questo potrebbe essere quando un'azienda ha più data center per un singolo sito Web. Con molti server in tutto il mondo, nessun singolo server è un "master". Nulla condiviso è anche noto come "sharding del database".
In contrasto con l'architettura del disco condiviso, in cui tutti i dati vengono archiviati centralmente e quindi accessibili tramite istanze archiviate su server o nodi diversi.
La distinzione tra i due tipi è diventata sfocata di recente con l'introduzione del grid computing o della cache distribuita. In questa configurazione, i dati sono ancora gestiti centralmente ma controllati da un potente "server virtuale" che comprende molti server che lavorano insieme come uno.
Questa definizione è stata scritta nel contesto dei database