tutorial queries objects fields array all mongodb nosql

queries - Es MongoDB confiable?



select array mongodb (9)

10gen, la compañía detrás de MongoDB proporciona un controlador PHP oficial. Como dice Jeremiah, implementan conjuntos de réplicas en la última versión (1.6.0) y ya lo han depurado (1.6.1 y la próxima versión en algunas semanas: 1.6.2).

Mostover, el soporte gratuito de la empresa y las comunidades es muy rápido y eficiente (me refiero a una pregunta "gratuita" en los grupos de google: http://groups.google.com/group/mongodb-user?pli=1 )

Estoy desarrollando un sitio web de citas y estoy pensando en usar una base de datos NoSQL para almacenar los perfiles, etc. Actualmente estoy buscando en el MongoDB y hasta ahora estoy muy satisfecho. La única preocupación es que leo en diferentes sitios web que MongoDB no es confiable y no es bueno.

Analicé las alternativas de NoSQL y no encontré nadie que satisfaga completamente mis criterios específicos:

  1. Fácil de aprender y usar.

  2. Totalmente compatible con PHP de fábrica.

  3. Rápido y bien documentado.

¿Qué piensas, estoy haciendo lo correcto para ir con MongoDB o es una pérdida de tiempo?

¡Agradecido por todos los aportes en el asunto!


Bueno, otro punto acerca de la confiabilidad:

  • La comunidad reacciona extremadamente rápido si se encuentra con algún problema crítico.
  • Debe preocuparse por sus expectativas sobre la "fiabilidad": ¿necesita una garantía para almacenar sus datos de forma segura, sin corromperse nunca?
    • En este caso, tendrá que comparar el costo de comprar hardware confiable y desplegar conjuntos de réplicas de MongoDB.
  • ¿Quiere decir tener un servicio altamente disponible?
  • MongoDB tiene algunos problemas con los jóvenes, no puedo decir lo contrario. Pero esto definitivamente NO es una pérdida de tiempo, y tal vez una solución a largo plazo.


Cualquier software puede ser confiable o no confiable. MongoDB tiene conjuntos de réplicas, que le brindan capacidades de failover de hardware. Puede realizar copias de seguridad de forma periódica, lo que le proporciona un intervalo de recuperación, y obtiene fragmentación, lo que puede proporcionarle un poco de redundancia, especialmente cuando se combina con conjuntos de réplicas.

El problema no es si la tecnología es confiable o no, la cuestión es si tiene o no un plan de respaldo y recuperación bien definido que se adapte a su plataforma de elección.

Si MongoDB satisface tus necesidades, estás haciendo la elección correcta. Solo asegúrate de investigar qué puedes hacer para aumentar tu confiabilidad.


Eso depende de para qué necesita fiabilidad. Mongo es muy confiable para leer, tiene una gran disponibilidad y características de fragmentación.

OTOH, escribe Mongo, no es confiable. Mientras la mayoría realiza, nunca se garantiza que la actualización sea exitosa o no y usted tiene que consultar manualmente la base de datos para verificar si sucedió.

Por lo tanto, Mongo se usa mejor cuando tiene más lecturas que escrituras que absolutamente necesita para tener éxito.


Investigué MongoDB para mi inicio de servicio social y definitivamente vale la pena considerarlo. MongoDB tiene un potente conjunto de características que lo convierte en una alternativa realista y sólida a las soluciones RDBMS.

Entre ellos:

  1. Base de datos de documentos: la mayoría de sus datos están incrustados en un documento, por lo que para obtener los datos sobre una persona, no es necesario que se una a varias tablas. Por lo tanto, un mejor rendimiento para muchos casos de uso.
  2. Fuerte lenguaje de consulta: a pesar de no ser un RDBMS, MongoDB tiene un lenguaje de consulta muy sólido que le permite obtener algo muy específico o muy general de un documento o documentos. El DB se consulta utilizando javascript para que pueda hacer muchas más cosas además de consultar (por ejemplo, funciones, cálculos).
  3. Sharding & Replication: Sharding le permite a la aplicación escalar horizontalmente en lugar de verticalmente. En otras palabras, más servidores pequeños en lugar de un servidor enorme. Y la replicación le brinda seguridad contra fallas en varias configuraciones (por ejemplo, maestro / esclavo).
  4. Potente indexación: Originalmente me interesé por MongoDB porque permite la indexación geoespacial de forma inmediata, pero también tiene muchas otras configuraciones de indexación.
  5. Plataforma cruzada: MongoDB tiene muchos drivers .

En cuanto a la documentación, no hay diluvio, pero eso se debe a que este proyecto solo comenzó en 2009; pronto habrá mucho más. Sin embargo, hay suficiente para comenzar con su proyecto. Además de eso, puedes ver el MongoDB en acción de Kyle Banker, un gran recurso.

Por último, solo tenía experiencia con RDMBS antes de MongoDB, no conocía javascript ni json, y aun así encontré que era muy simple y elegante.


MongoDB sería una buena opción. Evaluamos y comenzamos a usar MongoDB para nuestras aplicaciones empresariales. MongoDB nos ofrece un mejor rendimiento que Oracle y también es fácil escalar horizontalmente.


Si es lo suficientemente bueno para Foursquare, lo más probable es que sea lo suficientemente bueno para ti.


Vengo de un fondo RDBMS (12 años) y he pasado los últimos 6 meses buscando opciones NoSQL. Para su escenario, MongoDB, parece una buena opción. Lo que estoy escuchando de aquellos que han trabajado con MongoDB en producción por algún tiempo, es que deben seguir estas mejores prácticas:

  1. Mantenga el tamaño de la clave pequeña
  2. Evaluar (y posiblemente agregar) los índices para acelerar las consultas
  3. Preste atención al esquema (sé que parece extraño para una base de datos ''sin esquema'', pero he escuchado esto varias veces
  4. Usa conjuntos de réplicas

Aquí hay un video de una charla de mejores prácticas del grupo de usuarios de MongoDB LA que encuentro útil