MongoDB Jakaminen: Vaiheittainen opetusohjelma esimerkin kanssa

Mikä on Sharding in MongoDB?

Jakaminen on käsite MongoDB, joka jakaa suuret tietojoukot pieniksi tietojoukoiksi useille MongoDB tapauksissa.

Joskus tiedot sisällä MongoDB tulee olemaan niin suuri, että kyselyt tällaisia ​​suuria tietojoukkoja vastaan ​​voivat aiheuttaa paljon prosessorin käyttöä palvelimella. Tämän tilanteen ratkaisemiseksi MongoDB on käsite Sharding, joka on pohjimmiltaan tietojoukkojen jakamista useisiin MongoDB tapauksissa.

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

Jakamisen toteuttaminen

Sirpaleet toteutetaan käyttämällä klustereita, jotka ovat vain ryhmä MongoDB tapauksissa.

Sirun osia ovat mm

  1. Sirpale – Tämä on perusasia, eikä tämä ole muuta kuin a MongoDB ilmentymä, joka sisältää datan osajoukon. Tuotantoympäristöissä kaikkien sirpaleiden on oltava osa replikasarjoja.
  2. Konfigurointipalvelin – Tämä on mongodb-esiintymä, joka sisältää metatietoja klusterista, periaatteessa tietoa eri mongodb-esiintymistä, jotka sisältävät sirpaletietoja.
  3. Reititin – Tämä on mongodb-esiintymä, joka on periaatteessa vastuussa asiakkaan lähettämien komentojen ohjaamisesta oikeille palvelimille.

Jakaminen askel askeleelta Cluster esimerkki

Vaihe 1) Luo erillinen tietokanta konfigurointipalvelimelle.

mkdir /data/configdb

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

mongod –configdb ServerD: 27019

Vaihe 3) Käynnistä mongos-instanssi määrittämällä määrityspalvelin

mongos –configdb ServerD: 27019

Vaihe 4) Yhdistä mongo-kuoresta mongon instanssiin

mongo –host ServerD –port 27017

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

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

Vaihe 6) Ota tietokannan jakaminen käyttöön. Joten jos meidän on murrettava Employeedb-tietokanta, anna alla oleva komento

sh.enableSharding(Employeedb)

Vaihe 7) Ota kokoelman jakaminen käyttöön. Joten jos meidän on purettava työntekijäkokoelma, anna alla oleva komento

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

Yhteenveto:

  • Kuten on selitetty oppitunti, Sharding on käsite MongoDB, joka jakaa suuret tietojoukot pieniksi tietojoukoiksi useille MongoDB tapauksissa.