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

  1. 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.
  2. Konfigurationsserver – Dette er en mongodb-instans, som indeholder metadata om klyngen, grundlæggende oplysninger om de forskellige mongodb-instanser, som vil indeholde shard-dataene.
  3. 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.