MongoDB dalīšana: Soli pa solim apmācība ar piemēru

Satura rādītājs:

Anonim

Kas ir Sharding MongoDB?

Sharding ir MongoDB jēdziens, kas sadala lielas datu kopas mazās datu kopās vairākās MongoDB instancēs.

Dažreiz MongoDB dati ir tik milzīgi, ka vaicājumi par tik lielām datu kopām var izraisīt daudz CPU izmantošanu serverī. Lai risinātu šo situāciju, MongoDB ir Sharding koncepcija, kas būtībā ir datu kopu sadalīšana vairākās MongoDB instancēs.

Kolekcija, kas varētu būt liela izmēra, faktiski tiek sadalīta vairākās kolekcijās vai Shards, kā tos sauc. Loģiski, ka visas lauskas darbojas kā viena kolekcija.

Kā ieviest sadalīšanu

Shards tiek ieviests, izmantojot kopas, kas nav nekas cits kā MongoDB instanču grupa.

Shard sastāvdaļas ietver

  1. Shard - Šī ir pamata lieta, un tas ir nekas cits kā MongoDB instance, kurā glabājas datu apakškopa. Ražošanas vidēs visām lauskām jābūt daļai no kopiju komplektiem.
  2. Config server - Šis ir mongodb gadījums, kurā glabājas metadati par kopu, galvenokārt informācija par dažādiem mongodb gadījumiem, kuros glabājas drupas dati.
  3. Maršrutētājs - tas ir mongodb gadījums, kas būtībā ir atbildīgs par klienta nosūtīto komandu pārvirzīšanu uz pareizajiem serveriem.

Soli pa solim kopu parauga sadalīšana

1. solis. Izveidojiet atsevišķu datu bāzi konfigurācijas serverim.

mkdir /data/configdb

2. solis. Sāciet mongodb instanci konfigurācijas režīmā. Pieņemsim, ka, ja mums ir serveris ar nosaukumu Server D, kas būtu mūsu konfigurācijas serveris, mums būs jāpalaiž zemāk esošā komanda, lai serveri konfigurētu kā konfigurācijas serveri.

mongod -configdb ServerD: 27019

3. solis. Sāciet mongos instanci, norādot konfigurācijas serveri

mongos -configdb ServerD: 27019

4. solis) No mongo čaumalas izveidojiet savienojumu ar mongo instanci

mongo -host ServerD -port 27017

5. solis) Ja jums ir serveris A un serveris B, kas jāpievieno kopai, izsniedziet tālāk norādītās komandas

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

6. solis. Iespējojiet datu bāzes sadalīšanu. Tātad, ja mums ir jāsadala Employeedb datu bāze, izsniedziet tālāk norādīto komandu

sh.enableSharding(Employeedb)

7. solis. Iespējojiet kolekcijas dalīšanu. Tātad, ja mums ir jāsadala darbinieku kolekcija, izsniedziet tālāk norādīto komandu

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

Kopsavilkums:

  • Kā paskaidrots apmācībā, Sharding ir MongoDB jēdziens, kas sadala lielas datu kopas mazās datu kopās vairākās MongoDB instancēs.