sql >> Base de Datos >  >> NoSQL >> MongoDB

Bases de datos NoSQL:¿buenos candidatos para el procesamiento/agregación y acumulación de registros?

Las diferentes soluciones NoSQL resuelven diferentes problemas para diferentes usos, por lo que, en primer lugar, lo mejor que puede hacer es analizar su problema y desglosarlo

  • Estás escribiendo mucho al almacenamiento, por lo tanto, la velocidad de escritura es importante para usted
  • Desea realizar operaciones de agregación en esos datos y tener los resultados fácilmente consultables
  • La velocidad de lectura no es tan importante por el sonido de las cosas, al menos no en una "aplicación web tiene que ser realmente receptiva para millones de personas"
  • No sé si necesita consultas dinámicas o no

Veamos a Couch, Mongo y Raven en un nivel muy alto y generalizado

Cuervo

  • Escritura rápida
  • Consultas rápidas (eventualmente consistentes, precalculadas, agregadas a través de map/reduce)
  • Consultas dinámicas posibles, pero no realmente apropiadas para su caso de uso, ya que lo más probable es que consulte por fecha, etc.

Mongo

  • Escrituras increíblemente rápidas (en mi opinión, peligrosamente, porque un corte de energía significa la pérdida de datos;-))
  • Lecturas lentas (relativamente), agregación a través de mapa/reducción, no precalculadas
  • Las consultas dinámicas son simplemente lo que_usted_hace, pero probablemente tenga que definir índices en sus columnas si desea algún tipo de rendimiento en este tipo de datos

Sofá

  • Escritura rápida
  • Lecturas rápidas (precalculadas, pero actualizadas solo cuando lee (IIRC)
  • Las consultas dinámicas no son posibles, todas predefinidas a través de mapas o funciones de mapa/reducción

Entonces, básicamente, ¿necesita consultas dinámicas sobre este tipo de datos? ¿La velocidad de lectura es increíblemente importante para ti? Si necesita consultas dinámicas, querrá Raven o Mongo (para este tipo de cosas, Couch probablemente no sea lo que está buscando de todos modos).

FWIW, en mi opinión, el único caso de uso de Mongo ES para iniciar sesión, por lo que es posible que tenga una respuesta allí.