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ří
- 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.
- 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.
- 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.