Hovoříme o argumentech, které použít Mongo místo/společně s ES:
-
Správa uživatelů/rolí.
- Vestavěno v MongoDB. Nemusí vyhovovat všem vašim potřebám, může být někde neohrabaný, ale existuje a byl implementován již před dlouhou dobou.
- Jediná věc pro zabezpečení v ES je
shield
. Dodává se však pouze pro zlaté/platinové předplatné pro produkční použití.
-
Schéma
- ES je bez schématu, ale je postaven na
Lucene
a napsáno vJava
. Základní myšlenkou tohoto nástroje je indexovat a vyhledávat dokumenty a práce tímto způsobem vyžaduje konzistenci indexů. Na zadní straně by měly být všechny dokumenty umístěny v plochémlucene
index, což vyžaduje určité pochopení toho, jak by měl ES nakládat s vašimi vnořenými dokumenty a hodnotami a jak byste měli své indexy organizovat, abyste udrželi rovnováhu mezi rychlostí a úplností/konzistencí dat. Práce s ES vyžaduje, abyste měli neustále na paměti některé věci týkající se schématu. T.j.:protože můžete indexovat téměř cokoliv do ES, aniž byste předem zadali odpovídající mapování, ES může „uhodnout“ mapování za běhu, ale někdy to udělá špatně a někdy je implicitní mapování špatné, protože jakmile to jednou vložíte, nelze to změnit w /o přeindexování celého indexu. Takže je lepší nepovažovat ES za obchod bez schématu, protože můžete chvíli šlápnout na hrábě (a to bude bolest :) ), ale spíše to považujte za náročné na schéma, alespoň když pracujete s dokumenty, které lze rozdělit na konkrétní pole. - Mongo na druhou stranu dokáže „žvýkat a nenechat žádné drobky“ téměř ze všeho, co do něj vložíte. A většina vašich dotazů bude fungovat dobře, dokud si nevzpomenete, jak bude Mongo nakládat s vašimi daty z pohledu JavaScriptu. A jelikož je JS slabě napsaný, můžete pracovat s pracovním postupem bez schémat (určitě, pokud takové potřebujete)
- ES je bez schématu, ale je postaven na
-
Zpracování dat, která nejsou podobná tabulkám.
- ES je omezen na zpracování dat, aniž by je vkládal do vyhledávacího indexu. A toto řešení je dost dobré, když potřebujete uložit a načíst nějaká další data (ve srovnání s daty, podle kterých chcete vyhledávat).
- MongoDB podporuje
gridFS
. To vám dává možnost zpracovávat velké kusy dat za stejným rozhraním. To znamená, že můžete ukládat binární data v Mongo a načítat je ve stejném rozhraní z pohledu vašeho kódu.