Es uno de las bases de datos NoSQL más importantes hoy en día. Siendo una base de datos NoSQL, no usa filas y columnas habituales que tanto asociamos con la gestión de bases de datos relacionales. Su arquitectura se basa en colecciones y documentos. La unidad básica de datos en esta base de datos consiste en un conjunto de pares clave-valor.
- MongoDB nos
proporciona una interesante combinación entre tecnología y datos para una
obtener una adecuada ventaja competitiva.
- Es
el más idóneo para aplicaciones de misión crítica, ya que hace reducir considerablemente
los riesgos.
- Aumenta
progresivamente el tiempo de valuación y disminuye el costo total de
propiedad
- Construye aplicaciones que regularmente no podría ser posible con las bases de datos tradicionales.
Escalabilidad de los datos en MongoDB
Es excepcional la escalabilidad de
MongoDB, cuenta con la opción de escalar sus datos a través de múltiples
centros de datos distribuidos en ubicaciones geográficamente diversas, de igual
manera facilita cada vez más la obtención de datos y la escalabilidad a
demanda.
MongoDB tiene un conjunto integrado de
funciones que le permite derivar análisis y visualización de datos, realizar
procesamiento en memoria, procesamiento de gráficos, búsqueda de texto y
replicación global, ofreciendo una amplia variedad de aplicaciones en tiempo
real usando solo la aplicación MongoDB.
Ventajas de MongoDB
Características de MongoDB
- Cualquier campo en el documento puede ser indexado.
- Compatibilidad con la replicación del esclavo maestro.
- La base de datos puede ejecutarse en varios servidores. Los datos se duplican para proteger el sistema en caso de falla del hardware.
- Admisión de MapReduce y herramientas de agregación.
- Fácil administración en caso de fallas.
- Está sin esquema escrito en C ++
- La combinación de MongoDB y JavaScript funciona bien ya que la base de datos usa el lenguaje en lugar de los procedimientos.
CouchDB
Es una
base de datos no relacional “NoSQL” y cuyo propósito principal es el de
hacer la replicación de los datos en múltiples dispositivos de la forma más
sencilla posible. Es algo así como una fuente de almacenamiento KVS para
guardar blobs de JSON (documents), con agregados como validaciones de datos,
querying y autenticación integrada de usuarios.
De esta forma, tenemos una API
muy completa para el manejo de nuestros datos y con autenticación incorporada,
todo corriendo en una misma instancia, y con capacidad para replicarse y
sincronizarse con otras instancias o con otros entornos compatibles de una
forma rápida, sencilla y automatizada.
- Una de sus interesantes características es que los datos son accesibles a través de una API Rest. Este sistema es utilizado por compañías como Credit Suisse y la BBC.
- CouchDB proporciona una ventaja interesante (consecuencia de su posición en el teorema anterior) y es que permite que bases de datos se sincronicen de un modo automático y simple. Si tenemos un dispositivo móvil y se queda sin conexión, al recuperarse se resincroniza la información de la base de datos.
Redis
Redis es una base de datos NoSQL, de
tipo clave-valor. Los valores pueden ser de varios tipos: cadenas, hashes,
listas, conjuntos o conjuntos ordenados. Tiene sistemas get/set,
incrementos/decrementos de números, operaciones de listas, de conjuntos, etc.
también dispone de mecanismos publicación/subscripción (para uso como si fuese
un sistema MQ), expiración de datos (para uso como sistema de caché),
replicación maestro-esclavo y evaluación de código escrito en Lua.
Además de todo esto, Redis se destaca
por ser una base de datos con un rendimiento muy elevado, esto es porque se
define como una base de datos en
memoria con persistencia para datos (que puede ser desactivada).
Sus creadores indican que la comparación con otros sistemas tiene matices. En
su página web oficial, la sección de benchmark, reseñan algunos
datos a tener en cuenta en las comparaciones:
- Redis es un servidor,
por lo que la comparación con sistemas de almacenaje de datos integrados
como SQLite, Berkeley DB, Tokyo/Kyoto Cabinet, etc. no es posible, ya que
Redis tiene comunicación a través de un protocolo y la red.
- Redis responde siempre a las peticiones, a diferencia de otros sistemas
como MongoDB que no notifica o no da conocimiento sobre las operaciones de
escritura, o MySQL que permite retrasar las inserciones.
- Redis es síncrono,
por lo que para realizar un benchmark no se puede hacer sobre una sola y
misma conexión, hay que habilitar varias conexiones hacia el servidor.
- Redis es una base de datos en memoria, por lo que sería raro o extraño
compararla con sistemas transaccionales como MySQL o PostgreSQL, entre
otros. Para estar en igualdad de condiciones habría que emplear AOF en
Redis y alguna política de fsync.
- Redis es un servidor mono-hilo, esto quiere decir que no aprovecha los beneficios de
los sistemas con varias CPUs o multi-core, por lo que su comparación con
sistemas multi-hilo en los que sí se aprovechan estas características, es
igualmente desventajoso para Redis. No obstante, se pueden lanzar varios
Redis en modelo maestro-esclavo si se requiere.
(08 de marzo del 2018). Experto en Big data. Obtenido de Expertos en Big data: https://expertoenbigdata.com/que-es-mongodb/
Canales R. (27 de Noviembre del 2018). Adictos al trabajo. Obtenido de Adictos al trabajo: https://www.adictosaltrabajo.com/2018/11/27/primeros-pasos-con-couchdb/
Torres S. (19 de Septimebre del 2018). Woopi Obtenido de Woopi: https://woopi.com.ar/blog/2018/09/19/couchdb-exploit-vulnerabilidad-y-ejecucion-remota/
Rubio M. (21 de Junio del 2016). Altenwald Obtenido de Altenwald: https://altenwald.org/2012/06/21/redis-nosql-de-alto-rendimiento/
No hay comentarios:
Publicar un comentario