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

¿Qué base de datos NoSQL debo usar para iniciar sesión?

Decidí revisar esta respuesta aceptada ya que el estado del arte se ha movido significativamente en los últimos 18 meses y existen alternativas mucho mejores.

Nueva respuesta

MongoDB es una opción por debajo de la media para una solución de registro escalable. Existen las razones habituales para esto (rendimiento de escritura bajo carga, por ejemplo). Me gustaría presentar uno más, que es que solo resuelve un caso de uso único en una solución de registro.

Una solución de registro sólida debe cubrir al menos las siguientes etapas:

  • Colección
  • Transporte
  • Procesamiento
  • Almacenamiento
  • Buscar
  • Visualización

MongoDB como opción solo resuelve el caso de uso de almacenamiento (aunque algo mal). Una vez analizada la cadena completa, existen soluciones más adecuadas.

@KazukiOhta menciona algunas opciones. Mi solución preferida de extremo a extremo en estos días implica:

  • Logstash-Forwarder para recogida y transporte
  • Logstash y Riemann para procesamiento
  • ElasticSearch para almacenamiento y consultas
  • Kibana3 para visualización

El uso subyacente de ElasticSearch para el almacenamiento de datos de registro utiliza la mejor solución NoSQL actual para el caso de uso de registro y búsqueda. El hecho de que Logstash-Forwarder / Logstash / ElasticSearch / Kibana3 estén bajo el paraguas de ElasticSearch lo convierte en un argumento aún más convincente.

Dado que Logstash también puede actuar como un proxy de Graphite, se puede construir una cadena muy similar para el problema asociado de recopilar y analizar métricas (no solo registros).

Respuesta antigua

Las colecciones limitadas de MongoDB son extremadamente populares y adecuadas para el registro, con la ventaja adicional de ser 'sin esquema', que suele ser un ajuste semántico para el registro. A menudo, solo sabemos lo que queremos registrar bien en un proyecto, o después de que se hayan encontrado ciertos problemas en producción. Las bases de datos relacionales o los esquemas estrictos tienden a ser difíciles de cambiar en estos casos, y los intentos de hacerlos "flexibles" tienden a hacerlos "lentos" y difíciles de usar o comprender.

Pero si desea administrar sus registros en la oscuridad y tener láseres encendidos y hacer que parezca que viene del espacio, siempre está Graylog2, que usa MongoDB como parte de su infraestructura general, pero ofrece mucho más, como un formato común extensible, un servidor de recopilación de registros dedicado, arquitectura distribuida y una interfaz de usuario original.