MongoDB Sharding: Trin for trin tutorial med eksempel

Indholdsfortegnelse:

Anonim

Hvad er Sharding i MongoDB?

Sharding er et koncept i MongoDB, der opdeler store datasæt i små datasæt på tværs af flere MongoDB-forekomster.

Nogle gange vil dataene i MongoDB være så enorme, at forespørgsler mod sådanne store datasæt kan forårsage meget CPU-udnyttelse på serveren. For at tackle denne situation har MongoDB et koncept med Sharding, som grundlæggende er opdeling af datasæt på tværs af flere MongoDB-forekomster.

Samlingen, der kunne være stor i størrelse, er faktisk delt over flere samlinger eller Shards, som de kaldes. Logisk fungerer alle skårene som en samling.

Sådan implementeres Sharding

Shards implementeres ved hjælp af klynger, der kun er en gruppe MongoDB-forekomster.

Komponenterne i en Shard inkluderer

  1. A Shard - Dette er den grundlæggende ting, og dette er intet andet end en MongoDB-forekomst, der indeholder delmængden af ​​dataene. I produktionsmiljøer skal alle skår være en del af replika-sæt.
  2. Config-server - Dette er en mongodb-forekomst, der indeholder metadata om klyngen, dybest set information om de forskellige mongodb-forekomster, der vil indeholde shard-dataene.
  3. En router - Dette er en mongodb-instans, som grundlæggende er ansvarlig for at omdirigere de kommandoer, som klienten sender til de rigtige servere.

Trin for trin Sharding Cluster Eksempel

Trin 1) Opret en separat database til konfigurationsserveren.

mkdir /data/configdb

Trin 2) Start mongodb-forekomsten 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 Mongo-forekomsten ved at specificere konfigurationsserveren

mongos -configdb ServerD: 27019

Trin 4) Opret forbindelse til mongos instans fra mongoskallen

mongo -host ServerD -port 27017

Trin 5) Hvis du har server A og server B, der skal føjes til klyngen, skal du udstede nedenstående kommandoer

sh.addShard("ServerA:27017")sh.addShard("ServerB:27017")

Trin 6) Aktiver sharding til databasen. Så hvis vi har brug for at splitte Employeedb-databasen, skal du udstede kommandoen nedenfor

sh.enableSharding(Employeedb)

Trin 7) Aktiver sharding til samlingen. Så hvis vi har brug for at splitte medarbejderindsamlingen, skal du udstede kommandoen nedenfor

Sh.shardCollection("db.Employee" , { "Employeeid" : 1 , "EmployeeName" : 1})

Resumé:

  • Som forklaret i tutorial er Sharding et koncept i MongoDB, der opdeler store datasæt i små datasæt på tværs af flere MongoDB-forekomster.