MongoDB Sharding: Výukový program krok za krokem s příkladem

Co je Sharding in MongoDB?

Sharding je pojem v MongoDB, který rozděluje velké datové sady na malé datové sady napříč více MongoDB příklady.

Někdy data uvnitř MongoDB bude tak obrovský, že dotazy na takto velké soubory dat mohou způsobit velké využití CPU na serveru. Chcete-li tuto situaci vyřešit, MongoDB má koncept Sharding, což je v podstatě rozdělení datových sad na více MongoDB příklady.

Sbírka, která by mohla být velká, je ve skutečnosti rozdělena do několika sbírek nebo útržků, jak se jim říká. Logicky všechny střepy fungují jako jedna kolekce.

Jak implementovat Sharding

Střepy jsou implementovány pomocí klastrů, které nejsou ničím jiným než skupinou MongoDB příklady.

Mezi komponenty Shard patří

  1. Střípek – To je základní věc a není to nic jiného než a MongoDB instance, která obsahuje podmnožinu dat. V produkčním prostředí musí být všechny fragmenty součástí sady replik.
  2. Konfigurační server – Toto je instance mongodb, která obsahuje metadata o clusteru, v podstatě informace o různých instancích mongodb, které budou uchovávat data shardu.
  3. Router – Jedná se o instanci mongodb, která je v podstatě zodpovědná za přesměrování příkazů odeslaných klientem na správné servery.

Krok za krokem Sharding Cluster Příklad

Krok 1) Vytvořte samostatnou databázi pro konfigurační server.

mkdir /data/configdb

Krok 2) Spusťte instanci mongodb v konfiguračním režimu. Předpokládejme, že pokud máme server s názvem Server D, který by byl naším konfiguračním serverem, museli bychom spustit níže uvedený příkaz, abychom nakonfigurovali server jako konfigurační server.

mongod –configdb ServerD: 27019

Krok 3) Spusťte instanci mongos zadáním konfiguračního serveru

mongos –configdb ServerD: 27019

Krok 4) Z mongo shell se připojte k mongo instanci

mongo –host ServerD –port 27017

Krok 5) Pokud máte Server A a Server B, které je třeba přidat do clusteru, zadejte níže uvedené příkazy

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

Krok 6) Povolit sdílení databáze. Pokud tedy potřebujeme shardovat databázi Employeedb, zadejte níže uvedený příkaz

sh.enableSharding(Employeedb)

Krok 7) Povolit sdílení sbírky. Pokud tedy potřebujeme skartovat kolekci Employee, zadejte níže uvedený příkaz

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

Shrnutí:

  • Jak je vysvětleno v konzultace, Sharding je pojem v MongoDB, který rozděluje velké datové sady na malé datové sady napříč více MongoDB příklady.