MongoDB Sharding: Steg för steg-handledning med exempel

Innehållsförteckning:

Anonim

Vad är Sharding i MongoDB?

Sharding är ett koncept i MongoDB, som delar stora datamängder i små datamängder över flera MongoDB-instanser.

Ibland kommer data inom MongoDB att vara så enorma att frågor mot sådana stora datamängder kan orsaka mycket CPU-användning på servern. För att ta itu med denna situation har MongoDB konceptet Sharding, vilket i grunden är uppdelningen av datamängder över flera MongoDB-instanser.

Samlingen som kan vara stor i storlek är faktiskt uppdelad i flera samlingar eller skärvor som de kallas. Logiskt sett fungerar alla skärvor som en samling.

Hur man implementerar skärning

Skärvor implementeras med hjälp av kluster som bara är en grupp MongoDB-instanser.

Komponenterna i en Shard inkluderar

  1. A Shard - Detta är den grundläggande saken, och detta är inget annat än en MongoDB-instans som innehåller delmängden av data. I produktionsmiljöer måste alla skärvor vara en del av replikuppsättningar.
  2. Config-server - Detta är en mongodb-instans som innehåller metadata om klustret, i grund och botten information om de olika mongodb-instanserna som kommer att innehålla skärtdata.
  3. En router - Detta är en mongodb-instans som i grunden är ansvarig för att omdirigera kommandona som skickas av klienten till rätt servrar.

Steg för steg Sharding Cluster Exempel

Steg 1) Skapa en separat databas för konfigurationsservern.

mkdir /data/configdb

Steg 2) Starta mongodb-instansen i konfigurationsläge. Antag att om vi har en server med namnet Server D som skulle vara vår konfigurationsserver, skulle vi behöva köra kommandot nedan för att konfigurera servern som en konfigurationsserver.

mongod -configdb ServerD: 27019

Steg 3) Starta mongos-instansen genom att ange konfigurationsservern

mongos -configdb ServerD: 27019

Steg 4) Anslut till mongos instans från mongoskalet

mongo -host ServerD -port 27017

Steg 5) Om du har Server A och Server B som måste läggas till i klustret, utfärda kommandona nedan

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

Steg 6) Aktivera skärning för databasen. Så om vi behöver splittra databasen Employeedb, utfärda kommandot nedan

sh.enableSharding(Employeedb)

Steg 7) Aktivera skärning för samlingen. Så om vi behöver splittra medarbetarsamlingen, utfärda kommandot nedan

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

Sammanfattning:

  • Som förklarats i handledningen är Sharding ett koncept i MongoDB, som delar stora datamängder i små datamängder över flera MongoDB-instanser.