MongoDB kildude jagamine: samm-sammuline õpetus koos näitega

Lang L: none (table-of-contents):

Anonim

Mis on killustamine MongoDB-s?

Sharding on MongoDB mõiste, mis jagab suured andmekogumid väikesteks andmekogumiteks mitme MongoDB eksemplari vahel.

Mõnikord on MongoDB-s olevad andmed nii suured, et päringud selliste suurte andmekogumite vastu võivad põhjustada serveris palju protsessori kasutamist. Selle olukorra lahendamiseks on MongoDB-l kontseptsioon Sharding, mis on põhimõtteliselt andmekogumite jagamine mitme MongoDB-i eksemplari vahel.

Kogumik, mis võib olla suur, on tegelikult jaotatud mitme kollektsiooni või kildude vahel, nagu neid nimetatakse. Kõik killud töötavad loogiliselt ühe kollektsioonina.

Kuidas rakendada killustumist

Shardid rakendatakse klastrite abil, mis pole muud kui rühm MongoDB eksemplare.

Shard komponentide hulka kuuluvad

  1. Kild - see on põhiline asi ja see pole midagi muud kui MongoDB eksemplar, mis hoiab andmete alamhulka. Tootmiskeskkondades peavad kõik killud kuuluma koopiate komplektidesse.
  2. Config server - see on mongodb-eksemplar, mis hoiab klastri kohta metaandmeid, põhimõtteliselt teavet erinevate mongodb-i eksemplaride kohta, mis hoiavad killukest.
  3. Ruuter - see on mongodb-eksemplar, mis põhiliselt vastutab kliendi poolt saadetud käskude õigete serverite suunamise eest.

Klastrinäite killustamine samm-sammult

Samm 1) Looge konfiguratsiooniserveri jaoks eraldi andmebaas.

mkdir /data/configdb

2. samm. Käivitage mongodb-eksemplar konfiguratsioonirežiimis. Oletame, et kui meil on server nimega Server D, mis oleks meie konfiguratsiooniserver, peaksime serveri konfigureerimisserverina konfigureerimiseks käivitama järgmise käsu.

mongod -configdb ServerD: 27019

Samm 3) Käivitage mongos-eksemplar, määrates konfiguratsiooniserveri

mongos -configdb ServerD: 27019

Samm 4) Ühendage mongo kest mongo eksemplariga

mongo -host ServerD -port 27017

Samm 5) Kui teil on server A ja Server B, mis tuleb klastrisse lisada, väljastage järgmised käsud

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

6. samm. Lubage andmebaasi killustamine. Nii et kui peame Employeedbi andmebaasi tükeldama, väljastage järgmine käsk

sh.enableSharding(Employeedb)

Samm 7) Luba kollektsiooni tükeldamine. Nii et kui meil on vaja killustada töötajat, väljastage järgmine käsk

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

Kokkuvõte:

  • Nagu õpetuses selgitatud, on Sharding MongoDB mõiste, mis jagab suured andmekogumid väikesteks andmekogumiteks mitme MongoDB eksemplari vahel.