Soy un novato completo cuando se trata del movimiento NoSQL. He escuchado mucho sobre MongoDB y CouchDB. Sé que hay diferencias entre los dos. ¿Qué recomienda aprender como primer paso en el mundo NoSQL?
Soy un novato completo cuando se trata del movimiento NoSQL. He escuchado mucho sobre MongoDB y CouchDB. Sé que hay diferencias entre los dos. ¿Qué recomienda aprender como primer paso en el mundo NoSQL?
Respuestas:
Ver los siguientes enlaces
Actualización : encontré una gran comparación de las bases de datos NoSQL .
MongoDB (3.2)
Mejor utilizado : si necesita consultas dinámicas. Si prefiere definir índices, no asignar / reducir funciones. Si necesita un buen rendimiento en una gran base de datos. Si quería CouchDB, pero sus datos cambian demasiado, llenando los discos.
Por ejemplo : para la mayoría de las cosas que haría con MySQL o PostgreSQL, pero tener columnas predefinidas realmente lo detiene.
CouchDB (1.2)
Mejor utilizado : para acumular datos que cambian ocasionalmente, en los que se ejecutarán consultas predefinidas. Lugares donde las versiones son importantes.
Por ejemplo : CRM, sistemas CMS. La replicación maestro-maestro es una característica especialmente interesante, que permite implementaciones fáciles en múltiples sitios.
Si viene del mundo de MySQL, MongoDB se "sentirá" mucho más natural para usted debido a su soporte de lenguaje similar a la consulta.
Creo que eso es lo que lo hace tan amigable para mucha gente.
CouchDB es fantástico si desea utilizar el excelente soporte de replicación maestro-maestro con una configuración de múltiples nodos, posiblemente en diferentes centros de datos o algo así.
La replicación de MongoDB (conjuntos de réplica) es una configuración maestro-esclavo-esclavo-esclavo- *, solo puede escribir al maestro en un conjunto de réplica y leer desde cualquiera de ellos.
Para una configuración de sitio estándar, está bien. Se asigna al uso de MySQL realmente bien.
Pero si está tratando de crear un servicio global como un CDN que necesita mantener todos los nodos globales sincronizados a pesar de leer / escribir en todos ellos, algo como la replicación en CouchDB será de gran ayuda para usted.
Si bien MongoDB tiene un lenguaje de consulta que puede usar y se siente muy intuitivo, CouchDB adopta un enfoque de "reducción de mapas" y estos conceptos de vistas. Al principio se siente extraño, pero a medida que se acostumbra, realmente comienza a sentirse intuitivo.
Aquí hay una descripción rápida, por lo que tiene sentido:
Entonces, ambas fuentes usan documentos JSON, pero CouchDB sigue este enfoque más "cada servidor es un maestro y puede sincronizarse con el mundo", lo cual es fantástico si lo necesita, mientras que MongoDB es realmente el MySQL del mundo NoSQL.
Entonces, si eso suena más como lo que necesitas / quieres, ve por eso.
Pequeñas diferencias como el protocolo binario de Mongo frente a la interfaz RESTful de CouchDB son detalles menores.
Si desea una velocidad sin procesar y al infierno con la seguridad de los datos, puede hacer que Mongo funcione más rápido que CouchDB, ya que puede decir que funcione sin memoria y que no envíe cosas al disco, excepto por intervalos escasos.
Puede hacer lo mismo con Couch, pero su protocolo de comunicación basado en HTTP va a ser 2-4 veces más lento que la comunicación binaria sin procesar con Mongo en esta "velocidad sobre todo". guión.
Tenga en cuenta que la velocidad loca loca es inútil si un bloqueo del servidor o una falla del disco corrompe y brinda por descuido a su DB, por lo que ese punto de datos no es tan sorprendente como podría parecer (a menos que esté haciendo sistemas de comercio en tiempo real en Wall Street, en cuyo caso mira Redis).
Espero que todo ayude!
Ahora hay muchas más bases de datos NoSQL en el mercado que nunca. Sugiero incluso echar un vistazo al Cuadrante Mágico de Gartner si está buscando una base de datos que también sea ideal para aplicaciones empresariales basadas en soporte, capacidad de expansión, administración y costo.
http://www.gartner.com/technology/reprints.do?id=1-23A415Q&ct=141020&st=sb
Me gustaría sugerir Couchbase a cualquiera que aún no lo haya probado, pero que no se base en la versión que se muestra en el informe (2.5.1) porque hay casi 2 revisiones detrás de donde está CB Server hoy, cerca del lanzamiento de 4.0 en 2H15 .
http://www.couchbase.com/coming-in-couchbase-server-4-0
La otra parte acerca de Couchbase como proveedor / producto es que es un tipo de DB de usos múltiples. Puede actuar como una tienda K / V pura, base de datos orientada a documentos con escalamiento multidimensional, Memcached, almacenamiento en caché con persistencia, y admite SQL compatible con ANSI 92 con uniones automáticas, replicación a clústeres DR con solo presionar un botón, y incluso tiene un componente móvil integrado en el ecosistema.
Por lo menos, vale la pena consultar los últimos puntos de referencia:
http://info.couchbase.com/Benchmark_MongoDB_VS_CouchbaseServer_HPW_BM.html http://info.couchbase.com/NoSQL-Technical-Comparison-Report.html