Mi a Sharding a MongoDB-ben?
A Sharding a MongoDB egyik fogalma, amely a nagy adatsorokat több MongoDB példányra osztja fel kis adathalmazokká.
Előfordul, hogy a MongoDB-n belül az adatok olyan hatalmasak lesznek, hogy az ilyen nagy adathalmazokkal szembeni lekérdezések sok CPU-kihasználást okozhatnak a szerveren. Ennek a helyzetnek a kezelésére a MongoDB rendelkezik a Sharding koncepcióval, amely alapvetően az adatkészletek felosztása több MongoDB példányra.
A nagy méretű gyűjtemény tulajdonképpen több gyűjteményre vagy Shardsra oszlik, ahogy nevezik őket. Logikusan az összes szilánk egy gyűjteményként működik.
Hogyan lehet megvalósítani a szilánkosítást
A szilánkok olyan klaszterek segítségével valósulnak meg, amelyek nem más, mint a MongoDB példányok csoportja.
A Shard összetevői közé tartozik
- Szilánk - Ez az alapvető dolog, és ez nem más, mint egy MongoDB példány, amely az adatok részhalmazát tartja. Gyártási környezetekben minden szilánknak a replika készletek részének kell lennie.
- Config server - Ez egy mongodb példány, amely metaadatokat tárol a fürtről, alapvetően információkat a különféle mongodb példányokról, amelyek a szilánkok adatait tárolják.
- Router - Ez egy olyan mongodb példány, amely alapvetően felelős azért, hogy az ügyfél által küldött parancsokat a megfelelő szerverekre irányítsa.
Lépésről lépésre a fürt példájának aprítása
1. lépés: Hozzon létre egy külön adatbázist a konfigurációs kiszolgálóhoz.
mkdir /data/configdb
2. lépés: Indítsa el a mongodb példányt konfigurációs módban. Tegyük fel, hogy ha van egy D szerver nevű szerverünk, amely a mi konfigurációs szerverünk lenne, akkor a kiszolgáló konfigurációs kiszolgálóként történő konfigurálásához futtatnunk kell az alábbi parancsot.
mongod -configdb ServerD: 27019
3. lépés: Indítsa el a mongos példányt a konfigurációs kiszolgáló megadásával
mongos -configdb ServerD: 27019
4. lépés: Csatlakozzon a mongó héjától a mongo példányához
mongo -host ServerD -port 27017
5. lépés: Ha van A és B kiszolgáló, amelyet hozzá kell adni a fürthöz, adja ki az alábbi parancsokat
sh.addShard("ServerA:27017")sh.addShard("ServerB:27017")
6. lépés: Engedélyezze a szilánkosítást az adatbázisban. Tehát, ha meg kell aprítanunk az Employeedb adatbázist, adjuk ki az alábbi parancsot
sh.enableSharding(Employeedb)
7. lépés: Engedje meg a szilánkosítást a gyűjteménynél. Tehát, ha meg kell aprítanunk az Employee gyűjteményt, adjuk ki az alábbi parancsot
Sh.shardCollection("db.Employee" , { "Employeeid" : 1 , "EmployeeName" : 1})
Összegzés:
- Amint az oktatóanyagban kifejtésre került, a Sharding egy olyan koncepció a MongoDB-ben, amely a nagy adatsorokat több MongoDB példányra osztja fel kis adathalmazokká.