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

NoSQL (MongoDB) vs Lucene (nebo Solr) jako vaše databáze

To je skvělá otázka, nad kterou jsem dost přemýšlel. Shrnu své ponaučení:

  1. Lucene/Solr můžete snadno použít místo MongoDB pro téměř všechny situace, ale ne naopak. Zde to shrnuje příspěvek Granta Ingersolla.

  2. Zdá se, že MongoDB atd. slouží účelu, kde není vyžadováno vyhledávání a/nebo fasetování. Zdá se, že je to jednodušší a pravděpodobně snazší přechod pro programátory, kteří se detoxikují ze světa RDBMS. Pokud na to není člověk zvyklý, Lucene &Solr mají strmější křivku učení.

  3. Není mnoho příkladů použití Lucene/Solr jako datového úložiště, ale Guardian udělal určitý pokrok a shrnul to do vynikajícího slide-decku, ale i oni jsou nezávazní zcela naskočit do rozjetého vlaku Solr a „prozkoumat“ kombinaci Solr. s CouchDB.

  4. Nakonec nabídnu naše zkušenosti, bohužel toho o obchodním případu moc prozradit nemohu. Pracujeme na rozsahu několika TB dat, což je aplikace téměř v reálném čase. Po prozkoumání různých kombinací jsem se rozhodl zůstat u Solra. Zatím nelituji (6 měsíců a stále se to počítá) a nevidím důvod přecházet na jiné.

Shrnutí:pokud nemáte požadavek na vyhledávání, Mongo nabízí jednoduchý a výkonný přístup. Pokud je však pro vaši nabídku klíčové vyhledávání, pravděpodobně bude lepší držet se jedné technologie (Solr/Lucene) a optimalizovat ji sakra – méně pohyblivých součástí.

Moje 2 centy, doufám, že to pomohlo.



  1. Prevence vkládání JavaScriptu NoSQL v MongoDB

  2. Jak mohu procházet/zobrazovat hodnoty uložené v Redis

  3. Jaké parametry jsou předány zpětným voláním Mongoose

  4. Přehled ověření schématu MongoDB