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

  1. 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.
  2. 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.
  3. 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.