Jak vidíme v dnešním světě, že většina lidí přechází na MongoDB, stále existuje mnoho lidí, kteří dávají přednost použití tradiční relační databáze. Zde budeme diskutovat, proč bychom si měli vybrat MongoDB? Jako každá mince má dvě strany, má své výhody a omezení.
Jste tedy připraveni prozkoumat důvody, proč se učit MongoDB?
Proč MongoDB?
Jelikož se jedná o NoSQL databázi, má mnoho důvodů, proč se naučit MongoDB. Tyto důvody vedly nadaci k celosvětové popularitě MongoDB.
Toto jsou některé důvody, proč je MongoDB populární.
- Agregační rámec
- Formát BSON
- Sharding
- Ad-hoc dotaz
- Omezená sbírka
- Indexování
- Úložiště souborů
- Replikace
- Služba správy MongoDB (MMS)

Hlavní důvody, proč se naučit MongoDB
i) Rámec agregace
Můžeme jej použít velmi efektivním způsobem pomocí MongoDB. MapReduce lze použít pro dávkové zpracování dat i pro agregační operace. MapReduce není nic jiného než proces, ve kterém budou velké datové sady zpracovávat a generovat výsledky pomocí paralelních a distribuovaných algoritmů na klastrech.
Skládá se ze dvou sad operací, kterými jsou:Map() a Reduce().
- Mapa(): Provádí operace, jako je filtrování dat a následné řazení této datové sady.
- Snížit(): Provede operaci shrnutí všech dat po operaci map().

agregační rámec
ii) Formát BSON
Jedná se o úložiště typu JSON. BSON je zkratka pro binární JSON . BSON je binárně kódovaná serializace JSON jako dokumenty a MongoDB jej používá, když ukládá dokumenty do kolekcí. Můžeme přidat datové typy, jako je datum a binární kód (JSON nepodporuje).
Formát BSON zde používá _id jako primární klíč. Jak bylo uvedeno, _id se používá jako primární klíč, takže má jedinečnou hodnotu, která je sama se sebou spojena s názvem ObjectId, která je buď generována ovladačem aplikace nebo službou MongoDB.
Níže je uveden příklad pro lepší pochopení formátu BSON:
Příklad-
{ "_id": ObjectId("12e6789f4b01d67d71da3211"), "title": "Key features Of MongoDB", "comments": [ ... ] }
Další výhodou použití formátu BSON je, že umožňuje interně indexovat a mapovat vlastnosti dokumentu. Protože je navržen tak, aby byl efektivnější co do velikosti a rychlosti, zvyšuje propustnost čtení/zápisu MongoDB.
iii. Sharding
Hlavním problémem jakékoli webové/mobilní aplikace je škálování. K překonání tohoto MongoDB přidal funkci sharding. Je to metoda, při které jsou data distribuována na více počítačích. Horizontální škálovatelnost je poskytována se shardingem.
Je to složitý proces a provádí se pomocí několika střepů. Každý fragment obsahuje určitou část dat a funguje jako samostatná databáze . Sloučení všech fragmentů dohromady tvoří jedinou logickou databázi. Operace zde provádějí dotazovací směrovače.
iv. Ad hoc dotazy
MongoDB podporuje dotaz na rozsah, regulární výraz a mnoho dalších typů vyhledávání. Dotazy obsahují uživatelsky definované funkce Javascript a mohou také vracet konkrétní pole z dokumentů. MongoDB může podporovat dotazy ad hoc pomocí jedinečného dotazovacího jazyka nebo indexováním dokumentů BSON.
Podívejme se na rozdíl mezi dotazem SQL SELECT a podobným dotazem:
Např. Načítání všech záznamů tabulky studentů se jménem studenta jako ABC.
- Příkaz SQL – SELECT * FROM Students WHERE stud_name LIKE ‚%ABC%‘;
- Dotaz MongoDB – db.Students.find({stud_name:/ABC/ });
v. Schema-Les
Jelikož se jedná o databázi bez schématu (napsanou v C++), je mnohem flexibilnější než tradiční databáze. Díky tomu data pro sebe nevyžadují mnoho nastavení a snižují tření s OOP. Pokud chcete uložit objekt, stačí jej serializovat do JSON a odeslat do MongoDB.
vi. Limitované kolekce
MongoDB podporuje omezenou kolekci, protože má pevnou velikost kolekcí v něm. Udržuje pořadí vložení. Jakmile je dosaženo limitu, začne se chovat jako kruhová fronta.
Příklad – Omezení naší omezené sbírky na 2 MB
- db.createCollection(’logs’, {capped:true, size:2097152})
viii. Indexování
Pro zlepšení výkonu vyhledávání jsou vytvářenyindexy . Můžeme indexovat jakékoli pole v dokumentu MongoDB, ať už primární nebo sekundární.
Z tohoto důvodu může databázový stroj efektivně řešit dotazy.

Indexování
viii. Úložiště souborů
MongoDB lze také použít jako systém pro ukládání souborů, který zabraňuje nerovnováze zatížení a také replikaci dat. Tato funkce se provádí pomocí Systému souborů mřížky , je součástí ovladačů, které ukládají soubory.

Ukládání souborů v MongoDB
ix. Replikace
Replikace je zajištěna distribucí dat mezi různé stroje. Může mít jeden primární uzel a více než jeden sekundární uzel (sada replik).
Tato sada funguje jako master-slave. Zde může master provádět čtení a zápis a slave kopíruje data z masteru jako zálohu pouze pro operaci čtení.

Replikace
x. MongoDB Management Service (MMS)
MongoDB má velmi výkonnou funkci MMS, díky které můžeme sledovat naše databáze nebo stroje a v případě potřeby zálohovat naše data. Také sleduje hardwarové metriky pro správu nasazení.
Poskytuje funkci vlastního upozornění, díky které můžeme objevit problémy dříve, než se naše instance MongoDB projeví.

MongoDB Management Service (MMS)
Výhody MongoDB
Toto jedruhá fáze Proč MongoDB, výhody.
i. Vyrovnávání zátěže
Pokud máte velkou sadu dat, která potřebujete zpracovat, můžete distribuovat provoz mezi různé stroje pomocí vyvažování zátěže.
Pomáhá uživateli tak, že můžete pokračovat ve své práci, i když jeden z uzlů/strojů z nějakého důvodu přestal fungovat. Ostatní uzly udrží práci v pokračování a vaše zpracování se nezastaví.

Vyrovnávání zátěže
ii. Sharding
Pomocí shardingu můžeme provádět horizontální škálování. Což s pomocí relační databáze není možné. Pomocí této metody můžeme distribuovat data mezi různé počítače.
Uděláme si úlomky dat, která máme u sebe, a pak se pokusíme proces zpracování trochu usnadnit.

Sdílení v MongoDB
iii. Flexibilita
Nevyžaduje datové struktury, které jsou svou povahou jednotné napříč všemi používanými objekty. To usnadňuje používání MongoDB. S pomocí dynamického schématu je velmi snadné používat MongoDB.

Flexibilita
iv. Rychlost
MongoDB dokáže rychle a snadno zpracovat data. Ale to platí, dokud nejsou vaše data ve formátu dokumentu. Můžeme říci, že jeho rychlost se automaticky zvyšuje, protože zpracovává velké množství nestrukturovaných dat během několika sekund, což působí jako kouzlo.

Výhody a nevýhody MongoDB
Nevýhody/omezení MongoDB
Toto jetřetí fáze Proč MongoDB , omezení.
i. Využití paměti
Jak víme, MongoDB ukládá název klíče spolu s každým dokumentem, takže je zřejmé, že zabere velké množství paměti. A protože spojení také není možné, je velmi obtížné pracovat s duplicitními daty.

Využití paměti
ii. Žádná spojení
Protože spojení aplikujeme velmi snadno v relační databázi velmi snadno, není možné použít spojení v MongoDB. Takže pokud v něm chcete použít spojení, budete muset napsat mnoho složitých dotazů k provedení operace spojení zde.
iii. Stále ve vývoji
SQL byl vyvinut v 80. letech a MongoDB se právě objevil v roce 2009. Takže z tohoto důvodu není MongoDB ještě plně zdokumentováno nebo testováno a nemá úplnou podporu od odborníků.
Shrnutí
Po přečtení si tedy můžete udělat představu, proč bychom jej měli používat, jaké jsou jeho výhody a nevýhody. Kromě toho, pokud máte jakýkoli dotaz, neváhejte se zeptat v sekci komentářů níže, rádi vám pomůžeme.