Video: Database Clustering Tutorial 1 - Intro to Database Clustering 2024
I database NoSQL sono adatti a dataset di grandi dimensioni. I cloni Bigtable come HBase non fanno eccezione. Probabilmente vorrai utilizzare diversi server di prodotti economici in un singolo cluster piuttosto che una macchina molto potente. Questo perché è possibile ottenere prestazioni complessive per dollaro in generale utilizzando molti server commodity, piuttosto che un singolo server molto più costoso e potente.
Oltre ad essere in grado di scalare rapidamente, i server di merci poco costosi possono anche rendere il servizio di database più resiliente e quindi evitare errori hardware. Questo perché ci sono altri server che si occupano del servizio se la scheda madre di un singolo server fallisce. Questo non è il caso con un singolo server di grandi dimensioni.
La figura mostra una configurazione HBase altamente disponibile con un esempio di suddivisione dei dati tra i server.
Il diagramma mostra due nodi (HRegionServers) in una configurazione altamente disponibile, ciascuno dei quali funge da backup per l'altro.
In molte impostazioni di produzione, è possibile che siano necessari almeno tre nodi per la disponibilità elevata per garantire che due guasti del server si chiudano nel tempo l'uno sull'altro. Questo non è così raro come penseresti! Il consiglio varia per Bigtable; ad esempio, HBase consiglia cinque nodi come minimo per un cluster:
-
Ogni server region gestisce il proprio set di chiavi.
La progettazione di una strategia di allocazione delle chiavi di riga è importante perché determina il modo in cui il carico viene distribuito nel cluster.
-
| Ogni regione mantiene il proprio registro di scrittura e l'archivio in memoria.
In HBase, tutti i dati vengono scritti in un archivio in memoria e in seguito questo archivio viene svuotato su disco. Su disco, questi negozi sono chiamati file di archivio .
HBase interpreta i file di archivio come singoli file, ma in realtà sono distribuiti in blocchi su un Hadoop Distributed File System (HDFS). Ciò garantisce un'elevata velocità di acquisizione e recupero poiché tutte le operazioni di I / O di grandi dimensioni sono distribuite su più macchine.
Per massimizzare la disponibilità dei dati, per impostazione predefinita, Hadoop conserva tre copie di ciascun file di dati. Grandi installazioni hanno
-
Una copia primaria
-
Una replica all'interno dello stesso rack
-
Un'altra replica in un rack diverso
Prima di Hadoop 2. 0, i Namenode non potevano essere resi altamente disponibili. Questi hanno mantenuto un elenco di tutti i server attivi nel cluster. Erano, quindi, un unico punto di errore. Da Hadoop 2. 0, questo limite non esiste più.