Database Reference
In-Depth Information
mongos vs. mongoconfig
Sie werden sich fragen, warum Mongo die Einstiegspunkte für configuration und
mongos auf zwei verschiedene Server verteilt. Das liegt daran, dass sie in Produkti-
onsumgebungen generell auf verschiedenen physikalischen Servern liegen werden.
Der config-Server (selbst repliziert) verwaltet die Sharding-Informationen für andere
Sharding-Server, während mongos wahrscheinlich auf Ihrem lokalen Anwendungs-
server laufen, an den sich Clients leicht anbinden können (ohne sich darum küm-
mern zu müssen, mit welchen Shards die Verbindung herzustellen ist).
alle Nummern größer oder gleich 1-500-000-0001 auf Server B. Mongo er-
leichtert das über ein Autosharding, das die Aufteilung für Sie übernimmt.
Wir wollen eine Reihe (nicht replizierender) mongod -Server starten. Wie bei
Replika-Sets ist ein spezieller Parameter nötig, um als Sharding-Server zu
gelten (was nur bedeutet, dass der Server Sharding beherrscht).
$ mkdir ./mongo4 ./mongo5
$ mongod --shardsvr --dbpath ./mongo4 --port 27014
$ mongod --shardsvr --dbpath ./mongo5 --port 27015
Nun benötigen wir einen Server, um unsere Schlüssel nachzuhalten. Neh-
men wir an, wir haben eine Tabelle mit alphabetisch sortierten Städtenamen
angelegt. Wir benötigen nun eine Möglichkeit, herauszufinden, dass (zum
Beispiel) die mit A - N beginnenden Städte auf dem Server mongo4 liegen
und O - Z auf dem Server mongo5. Bei Mongo legen Sie einen config-Ser-
ver an (ein gewöhnlicher mongod ), der nachhält, welcher Server (mongo4 oder
mongo5) welche Werte enthält.
$ mkdir ./mongoconfig
$ mongod --configsvr --dbpath ./mongoconfig --port 27016
Abschließend müssen Sie einen vierten Server namens mongos starten, der als
(einziger) Einstiegspunkt für Ihre Clients fungiert. Die mongos -Server stellen
die Verbindung mit dem mongoconfig .Server her, um die dort gespeicherten
Sharding-Informationen nachzuhalten. Wir lassen ihn an Port 27020 laufen
und setzen die chunkSize auf 1. (Unsere chunkSize beträgt 1MB, was den
kleinsten erlaubten Wert darstellt. Das ist unserer kleinen Datenmenge ge-
schuldet, damit wir das Sharding in Aktion sehen. Im Produktiveinsatz wür-
den Sie die Voreinstellung oder einen wesentlich größeren Wert verwenden.)
Wir verweisen mongos über das Flag -configdb an den config-Server:Port.
$ mongos --configdb localhost:27016 --chunkSize 1 --port 27020
 
Search WWH ::




Custom Search