MongoDB Sharding: tutorial pas cu pas cu exemplu
În ce se află Sharding MongoDB?
Sharding este un concept în MongoDB, care împarte seturi mari de date în seturi mici de date în mai multe MongoDB instanțe.
Uneori datele din interior MongoDB va fi atât de mare, încât interogările împotriva unor astfel de seturi de date mari pot provoca o utilizare foarte mare a procesorului pe server. Pentru a aborda această situație, MongoDB are un concept de Sharding, care este practic împărțirea seturilor de date în mai multe MongoDB instanțe.
Colecția care ar putea avea dimensiuni mari este de fapt împărțită în mai multe colecții sau fragmente, așa cum sunt numite. În mod logic, toate fragmentele funcționează ca o singură colecție.
Cum se implementează Sharding
Fragmentele sunt implementate prin utilizarea clusterelor care nu sunt altceva decât un grup de MongoDB instanțe.
Componentele unui fragment includ
- Dur precum – Acesta este lucrul de bază și acesta nu este altceva decât o MongoDB instanță care deține subsetul de date. În mediile de producție, toate fragmentele trebuie să facă parte din seturile de replici.
- Server de configurare – Aceasta este o instanță mongodb care deține metadate despre cluster, practic informații despre diferitele instanțe mongodb care vor deține datele shard.
- Un router – Aceasta este o instanță mongodb care practic este responsabilă de redirecționarea comenzilor trimise de client către serverele potrivite.
Sharding pas cu pas Cluster Exemplu
Pas 1) Creați o bază de date separată pentru serverul de configurare.
mkdir /data/configdb
Pas 2) Porniți instanța mongodb în modul de configurare. Să presupunem că dacă avem un server numit Server D care ar fi serverul nostru de configurare, ar trebui să rulăm comanda de mai jos pentru a configura serverul ca server de configurare.
mongod –configdb ServerD: 27019
Pas 3) Porniți instanța mongos specificând serverul de configurare
mongos –configdb ServerD: 27019
Pas 4) Din shell-ul mongo conectează-te la instanța mongo
mongo –host ServerD –port 27017
Pas 5) Dacă aveți Server A și Server B care trebuie adăugate la cluster, lansați comenzile de mai jos
sh.addShard("ServerA:27017") sh.addShard("ServerB:27017")
Pas 6) Activați sharding pentru baza de date. Deci, dacă trebuie să fragmentăm baza de date Employeedb, lansați comanda de mai jos
sh.enableSharding(Employeedb)
Pas 7) Activați fragmentarea pentru colecție. Deci, dacă trebuie să fragmentăm colecția Employee, lansați comanda de mai jos
Sh.shardCollection("db.Employee" , { "Employeeid" : 1 , "EmployeeName" : 1})
Rezumat:
- Așa cum se explică în tutorial, Sharding este un concept în MongoDB, care împarte seturi mari de date în seturi mici de date în mai multe MongoDB instanțe.