sql >> Database teknologi >  >> NoSQL >> MongoDB

NoSQL-databaser - gode kandidater til logbehandling/aggregering og rollup?

Forskellige NoSQL-løsninger løser forskellige problemer til forskellige formål - så først og fremmest er den bedste ting at gøre at se på dit problem og nedbryde det

  • Du skriver tungt til lagring, derfor er skrivehastighed vigtig for dig
  • Du ønsker at udføre aggregeringshandlinger på disse data og have resultaterne af det, der let kan forespørges på
  • Læsehastigheden er ikke så vigtig ud fra lyden af ​​tingene, i hvert fald ikke i en "webapplikation skal være virkelig lydhør for millioner af mennesker" på en måde
  • Jeg ved ikke, om du har brug for dynamiske forespørgsler eller ej

Lad os se på Couch, Mongo og Raven på en generaliseret måde på et meget højt niveau

Ravn

  • Hurtig skrivning
  • Hurtige forespørgsler (efterhånden konsistente, forudberegnet, aggregering via kort/reducer)
  • Dynamiske forespørgsler er mulige, men ikke rigtigt passende til din brugssituation, da du højst sandsynligt kommer til at forespørge efter dato osv.

Mongo

  • Blindende hurtig skriver (efter min mening farligt, fordi strømmen afbrydes betyder tab af data;-))
  • Langsom læsning (relativt), aggregering via kort/reducer, ikke forudberegnet
  • Dynamiske forespørgsler er bare hvad_du_gør, men du skal sandsynligvis definere indekser på dine kolonner, hvis du vil have nogen form for ydeevne på denne slags data

Sofa

  • Hurtig skrivning
  • Hurtig læsning (forudregnet, men kun opdateret, når du læser (IIRC)
  • Dynamiske forespørgsler er ikke mulige, alle foruddefinerede via kort eller kort-/reducer-funktioner

Så dybest set - har du brug for dynamiske forespørgsler over denne slags data? Er læsehastigheden utrolig vigtig for dig? Hvis du har brug for dynamiske forespørgsler, så vil du have Raven eller Mongo (For denne slags ting er sofa nok alligevel ikke det, du leder efter).

FWIW, Mongos eneste use case efter min mening ER til logning, så du har måske et svar der.




  1. Transparent Database Failover til dine applikationer

  2. Hierarkiske forespørgsler med Mongo ved hjælp af $graphLookup

  3. Hvordan kan jeg bruge regex i mongodb over mongolab?

  4. Kan ikke få mongoid til at arbejde med Rails 4