sql >> Databáze >  >> NoSQL >> MongoDB

Proč MongoDB – 10 důvodů, proč se naučit MongoDB pro rok 2022

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.


  1. získejte kontejner python docker pro interakci s kontejnerem redis docker

  2. Vytvoření nové sady z řady Sorted Set v Redis

  3. Model.find().toArray() tvrdí, že nemá metodu .toArray().

  4. Python + Memcached:Efektivní ukládání do mezipaměti v distribuovaných aplikacích