Clustering in NoSQL

NoSQL-Datenbanken sind gut geeignet für sehr große Datenmengen. Bigtable Klone wie HBase sind keine Ausnahme. Sie werden wahrscheinlich mehrere preiswerte Standardserver in einem einzigen Cluster eher als eine sehr leistungsstarke Maschine verwenden möchten. Das ist, weil Sie viele Rohstoff-Server durch, anstatt einer erheblich teurer einzigen leistungsstarken Server insgesamt eine bessere Leistung pro Dollar zu bekommen.

schnell, kostengünstig Commodity-Servern zu skalieren können auch Ihre Datenbank-Service elastischer machen und so dazu beitragen, vermeiden Ausfälle Hardware Zusätzlich zu der Möglichkeit zu sein. Dies ist, weil Sie andere Server den Dienst zu übernehmen, wenn ein einzelner Server Motherboard versagt. Dies ist nicht der Fall mit einem einzigen großen Server.

Die Abbildung zeigt eine hochverfügbare HBase Konfiguration mit einem Beispiel von Daten zwischen Servern aufgeteilt.

bild0.jpg

Das Diagramm zeigt zwei Knoten (HRegionServers) in einem hochverfügbaren Einrichtung, die jeweils für den anderen als Sicherung wirkt.

In vielen Produktions Setups, können Sie mindestens drei Knoten für eine hohe Verfügbarkeit zwei Serverausfälle zeitnah miteinander behandelt, um sicherzustellen, werden. Das ist nicht so selten, wie man denken würde! Beratung variiert je nach Bigtable- zum Beispiel empfiehlt HBase fünf Knoten als Minimum für einen Cluster:

  • Jede Region-Server verwaltet seine eigenen Schlüssel.

    eine Reihe Schlüssel # 8208-Allocation-Strategie zu entwerfen ist wichtig, weil es bestimmt, wie die Last im Cluster verteilt ist.

  • | Jede Region verfügt über eine eigene Schreibprotokoll und in # 8208-Speicher zu speichern.

    In HBase, werden alle Daten auf eine in # 8208-Speicherspeicher geschrieben, und später wird dieser Speicher auf die Festplatte geschrieben. Auf Platte sind diese Läden genanntspeichern von Dateien.

    HBase interpretiert Speichern von Dateien als einzelne Dateien, aber in Wirklichkeit sind sie in Stücke über einen Hadoop Distributed File System (HDFS) verteilt. Dies sorgt für eine hohe Ingest und Abrufgeschwindigkeit, da alle großen I / O-Operationen in vielen Maschinen verteilt sind.

Um die Datenverfügbarkeit zu maximieren, die standardmäßig unterhält Hadoop drei Kopien jeder Datendatei. Große Anlagen haben

  • Eine primäre Kopie

  • Eine Replik im selben Rack

  • Eine weitere Replik in einem anderen Rack

Vor Hadoop 2.0 Namenodes konnte nicht hoch verfügbar gemacht werden. Diese verwaltet eine Liste aller aktiven Server im Cluster. Sie waren daher ein Single Point of Failure. Da Hadoop 2.0 existiert diese Grenze nicht mehr.

Menü