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

Výhody a nevýhody MongoDB?

Některé obecné body k MongoDB

Výhody:

  • bez schématu. Pokud máte flexibilní schéma, je to ideální pro úložiště dokumentů, jako je MongoDB. To je obtížné implementovat výkonným způsobem v RDBMS
  • snadné škálování. Měřítko čtení pomocí sad replik. Scale zapisuje pomocí shardingu (automatické vyvažování). Stačí zapálit další stroj a můžete jít. Přidání dalších počítačů =přidání více paměti RAM, přes kterou budete distribuovat svou pracovní sadu.
  • náklady. Samozřejmě záleží na tom, které RDBMS, ale MongoDB je zdarma a může běžet na Linuxu, což je ideální pro běh na levnější sadě komodit.
  • můžete si vybrat, jakou úroveň konzistence chcete v závislosti na hodnotě dat (např. rychlejší výkon =spusťte a zapomeňte vložky do MongoDB, pomalejší výkon =počkejte, dokud nebude vložka replikována do více uzlů, než se vrátí)

Nevýhody:

  • Velikost dat v MongoDB je obvykle vyšší, např. každý dokument má uložená jména polí
  • menší flexibilita při zadávání dotazů (např. žádné JOINy)
  • žádná podpora transakcí – jsou podporovány určité atomické operace na úrovni jednoho dokumentu
  • v tuto chvíli je Map/Reduce (např. pro provádění agregací/analýzy dat) v pořádku, ale není nijak závratně rychlá. Takže pokud je to požadováno, může být potřeba přidat do mixu něco jako Hadoop
  • dostupné méně aktuální informace/rychle se vyvíjející produkt

Nedávno jsem napsal své myšlenky na MongoDB jako někdo z prostředí SQL Serveru, takže by vás to mohlo zajímat (výše jsou jen některé z hlavních bodů).

Pokud hledáte odpověď "Je MongoDB lepší než RDBMS" - pak IMHO neexistuje žádná odpověď. Technologie NoSQL jako MongoDB poskytují alternativu, která doplňuje technologie RDBMS. Jeden může být pro konkrétní účel vhodnější než druhý, takže jde o to, abyste si zavolali, co je pro vás pro daný požadavek nejlepší.




  1. při odstranění dokumentu z omezené kolekce v mongoDB došlo k chybě?

  2. Jak seskupit podle různých polí

  3. počet $ výsledků vyhledávání mongodb

  4. Mongodb Agregation Framework:Používá $group index?