Kas yra skaldymas „MongoDB“?
„Sharding“ yra „MongoDB“ koncepcija, kuri padalija didelius duomenų rinkinius į mažus duomenų rinkinius keliuose „MongoDB“ egzemplioriuose.
Kartais „MongoDB“ duomenys bus tokie didžiuliai, kad užklausos dėl tokių didelių duomenų rinkinių gali sukelti daug procesoriaus naudojimo serveryje. Norėdami išspręsti šią situaciją, „MongoDB“ turi „Sharding“ koncepciją, kuri iš esmės yra duomenų rinkinių skaidymas keliuose „MongoDB“ egzemplioriuose.
Kolekcija, kurios dydis gali būti didelis, iš tikrųjų yra padalinta į kelias kolekcijas arba „Shards“, kaip jie vadinami. Logiška, kad visos šukės veikia kaip viena kolekcija.
Kaip įdiegti dalijimąsi
Skaldos įgyvendinamos naudojant klasterius, kurie yra ne kas kita, o „MongoDB“ egzempliorių grupė.
Į „Shard“ komponentus įeina
- Skalda - tai yra pagrindinis dalykas, ir tai yra ne kas kita, o „MongoDB“ egzempliorius, kuriame laikomas duomenų pogrupis. Gamybos aplinkoje visos skeveldros turi būti replikų rinkinių dalis.
- „Config server“ - tai „mongodb“ egzempliorius, kuriame yra metaduomenys apie klasterį, iš esmės informacija apie įvairius „mongodb“ egzempliorius, kurie laikys šukės duomenis.
- Maršrutizatorius - tai mongodb egzempliorius, kuris iš esmės yra atsakingas už kliento siunčiamų komandų peradresavimą į tinkamus serverius.
Žingsnis po žingsnio dalijant klasterio pavyzdį
1 žingsnis. Sukurkite atskirą konfigūracijos serverio duomenų bazę.
mkdir /data/configdb
2 žingsnis) Paleiskite „mongodb“ egzempliorių konfigūracijos režimu. Tarkime, jei turime serverį pavadinimu „Server D“, kuris būtų mūsų konfigūracijos serveris, turėtume paleisti žemiau esančią komandą, kad sukonfigūruotume serverį kaip konfigūracijos serverį.
mongod -configdb ServerD: 27019
3 žingsnis. Paleiskite „mongos“ egzempliorių nurodydami konfigūracijos serverį
mongos -configdb ServerD: 27019
4 žingsnis) Iš mongo apvalkalo prijunkite prie mongo egzemplioriaus
mongo -host ServerD -port 27017
5 žingsnis) Jei turite serverį A ir serverį B, kuriuos reikia pridėti prie sankaupos, pateikite toliau nurodytas komandas
sh.addShard("ServerA:27017")sh.addShard("ServerB:27017")
6 žingsnis. Įgalinkite duomenų bazės dalijimąsi. Taigi, jei mums reikia suskaidyti „Employeedb“ duomenų bazę, pateikite žemiau esančią komandą
sh.enableSharding(Employeedb)
7 veiksmas) Įgalinkite kolekcijos dalijimą. Taigi, jei mums reikia suskaidyti „Employee“ kolekciją, pateikite žemiau esančią komandą
Sh.shardCollection("db.Employee" , { "Employeeid" : 1 , "EmployeeName" : 1})
Santrauka:
- Kaip paaiškinta pamokoje, „Sharding“ yra „MongoDB“ sąvoka, kuri padalija didelius duomenų rinkinius į mažus duomenų rinkinius keliuose „MongoDB“ egzemplioriuose.