MongoDB-sirppaus: Vaiheittainen opastus esimerkillä

Sisällysluettelo:

Anonim

Mitä Sharding on MongoDB: ssä?

Sharding on MongoDB: n käsite, joka jakaa suuret tietojoukot pieniksi tietojoukoiksi useille MongoDB-esiintymille.

Joskus MongoDB: n tiedot ovat niin valtavia, että kyselyt tällaisia ​​suuria tietojoukkoja vastaan ​​voivat aiheuttaa paljon suorittimen käyttöä palvelimella. Tämän tilanteen ratkaisemiseksi MongoDB: llä on Sharding-käsite, joka on pohjimmiltaan tietojoukkojen jakaminen useille MongoDB-esiintymille.

Kokoelma, joka voi olla suuri, on jaettu useisiin kokoelmiin tai sirpaleisiin, kuten niitä kutsutaan. Loogisesti kaikki sirpaleet toimivat yhtenä kokoelmana.

Kuinka toteuttaa Sharding

Sirpaleet toteutetaan käyttämällä klustereita, jotka eivät ole muuta kuin ryhmä MongoDB-esiintymiä.

Sirun komponentit sisältävät

  1. Sirpale - Tämä on perusasia, eikä tämä ole mitään muuta kuin MongoDB-esiintymä, joka pitää sisällään tietojen osajoukon. Tuotantoympäristöissä kaikkien sirpaleiden on oltava osa kopiosarjoja.
  2. Config-palvelin - Tämä on mongodb-ilmentymä, joka pitää sisällään metadataa klusterista, pohjimmiltaan tietoa mongodb-instansseista, jotka pitävät sirun tietoja.
  3. Reititin - Tämä on mongodb-ilmentymä, joka on periaatteessa vastuussa asiakkaan lähettämien komentojen ohjaamisesta uudelleen oikeille palvelimille.

Vaihe vaiheelta klusteriesimerkin pilkkominen

Vaihe 1) Luo erillinen tietokanta määrityspalvelimelle.

mkdir /data/configdb

Vaihe 2) Käynnistä mongodb-ilmentymä määritystilassa. Oletetaan, että jos meillä on palvelin D nimeltä Palvelin, joka olisi määrityspalvelimemme, meidän on suoritettava alla oleva komento määrittääksesi palvelimen määrityspalvelimeksi.

mongod -configdb ServerD: 27019

Vaihe 3) Käynnistä mongos-ilmentymä määrittelemällä kokoonpanopalvelin

mongos -configdb ServerD: 27019

Vaihe 4) Yhdistä mongo-kuoresta mongon esiintymään

mongo -host ServerD -port 27017

Vaihe 5) Jos sinulla on palvelin A ja palvelin B, jotka on lisättävä klusteriin, anna alla olevat komennot

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

Vaihe 6) Ota sirpaloituminen käyttöön tietokannalle. Joten jos meidän on pilkottava Employeedb-tietokanta, anna alla oleva komento

sh.enableSharding(Employeedb)

Vaihe 7) Ota sirpalointi käyttöön kokoelmalle. Joten jos meidän on pilkottava Employee-kokoelma, anna alla oleva komento

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

Yhteenveto:

  • Kuten opetusohjelmassa selitettiin, Sharding on MongoDB: n käsite, joka jakaa suuret tietojoukot pieniksi tietojoukoiksi useille MongoDB-esiintymille.