MongoDB Sharing: Trin for trin vejledning med eksempel
Hvad er Sharding i MongoDB?
Sharding er et begreb i MongoDB, som opdeler store datasæt i små datasæt på tværs af flere MongoDB forekomster.
Nogle gange data indeni MongoDB vil være så enorm, at forespørgsler mod så store datasæt kan forårsage en masse CPU-udnyttelse på serveren. For at tackle denne situation, MongoDB har et koncept med Sharding, som grundlæggende er opdeling af datasæt på tværs af flere MongoDB forekomster.
Samlingen, som kunne være stor i størrelsen, er faktisk opdelt på tværs af flere samlinger eller Shards, som de kaldes. Logisk set fungerer alle skårene som én samling.
Sådan implementeres Sharding
Shards implementeres ved at bruge klynger, som ikke er andet end en gruppe af MongoDB forekomster.
Komponenterne i en Shard inkluderer
- En skærv – Det er det grundlæggende, og det er ikke andet end en MongoDB instans, som indeholder delmængden af dataene. I produktionsmiljøer skal alle shards være en del af replikasæt.
- Konfigurationsserver – Dette er en mongodb-instans, som indeholder metadata om klyngen, grundlæggende oplysninger om de forskellige mongodb-instanser, som vil indeholde shard-dataene.
- En router – Dette er en mongodb-instans, som grundlæggende er ansvarlig for at omdirigere kommandoerne, der sendes af klienten, til de rigtige servere.
Trin for trin skæring Cluster Eksempel
Trin 1) Opret en separat database til konfigurationsserveren.
mkdir /data/configdb
Trin 2) Start mongodb-instansen i konfigurationstilstand. Antag, at hvis vi har en server ved navn Server D, som ville være vores konfigurationsserver, skal vi køre nedenstående kommando for at konfigurere serveren som en konfigurationsserver.
mongod –configdb ServerD: 27019
Trin 3) Start mongos-instansen ved at angive konfigurationsserveren
mongos –configdb ServerD: 27019
Trin 4) Fra mongo-skallen forbindes til mongoens instans
mongo –host ServerD –port 27017
Trin 5) Hvis du har Server A og Server B, som skal tilføjes til klyngen, skal du udsende nedenstående kommandoer
sh.addShard("ServerA:27017") sh.addShard("ServerB:27017")
Trin 6) Aktiver sharding for databasen. Så hvis vi har brug for at sønderdele Employeedb-databasen, udsend kommandoen nedenfor
sh.enableSharding(Employeedb)
Trin 7) Aktiver sharding for samlingen. Så hvis vi har brug for at sønderdele medarbejdersamlingen, udsend kommandoen nedenfor
Sh.shardCollection("db.Employee" , { "Employeeid" : 1 , "EmployeeName" : 1})
Sammendrag:
- Som forklaret i tutorial, Sharding er et koncept i MongoDB, som opdeler store datasæt i små datasæt på tværs af flere MongoDB forekomster.