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

NoSQL databáze - dobří kandidáti na zpracování/agregaci logů a rollup?

Různá řešení NoSQL řeší různé problémy pro různá použití – takže nejprve je nejlepší podívat se na svůj problém a rozebrat ho

  • Píšete těžce do úložiště, proto je pro vás důležitá rychlost zápisu
  • Chcete s těmito daty provádět operace agregace a mít výsledky, které lze snadno dotazovat
  • Rychlost čtení není podle zvuku věcí tak důležitá, alespoň ne v případě, že webová aplikace musí být skutečně citlivá pro miliony lidí
  • Nevím, jestli potřebujete dynamické dotazy nebo ne

Podívejme se na Couche, Mongo a Raven ve velmi vysoké úrovni, zobecněným způsobem

Raven

  • Rychlé zápisy
  • Rychlé dotazy (nakonec konzistentní, předem vypočítané, agregace pomocí mapy/redukce)
  • Dynamické dotazy jsou možné, ale ve skutečnosti nejsou vhodné pro váš případ použití, protože pravděpodobně budete dotazovat podle data atd

Mongo

  • Slepě rychlý zápis (podle mého názoru nebezpečně, protože vypnutí znamená ztrátu dat;-))
  • Pomalé čtení (relativně), agregace pomocí mapy/redukování, není předem vypočítáno
  • Dynamické dotazy jsou prostě what_you_do, ale pravděpodobně budete muset definovat indexy ve svých sloupcích, chcete-li u tohoto druhu dat nějaký výkon

Pohovka

  • Rychlé zápisy
  • Rychlé čtení (předběžně vypočítané, ale aktualizované pouze při čtení (IIRC)
  • Dynamické dotazy nejsou možné, všechny jsou předem definovány pomocí map nebo map/redukčních funkcí

Takže v podstatě - potřebujete dynamické dotazy na tento druh dat? Je pro vás rychlost čtení neuvěřitelně důležitá? Pokud potřebujete dynamické dotazy, pak budete chtít Raven nebo Mongo (Pro tento druh věcí Couch pravděpodobně stejně není to, co hledáte).

FWIW, Mongoův jediný případ použití podle mého názoru JE pro protokolování, takže tam možná máte odpověď.




  1. Jak mohu načíst data z kolekce mongodb do dataFrame pandas?

  2. Nejlepší způsob, jak seskupit podle data s Mongoidem

  3. Použití funkce MongoDB .findOne() s vnořenou hodnotou dokumentu

  4. Velikost pole agregace Mongo DB je větší než shoda