GESTORES DE BASE DE DATOS NoSQL

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
GESTORES DE BASE DE DATOS NoSQL por Mind Map: GESTORES DE BASE DE DATOS NoSQL

1. APACHE CASSANDRA

1.1. Apache Cassandra se trata de un software NoSQL distribuido y basado en un modelo de almacenamiento de «clave-valor», de código abierto que está escrita en Java. Permite grandes volúmenes de datos en forma distribuida. Por ejemplo, lo usa Twitter para su plataforma. Su objetivo principal es la escalabilidad lineal y la disponibilidad. La arquitectura distribuida de Cassandra está basada en una serie de nodos iguales que se comunican con un protocolo P2P con lo que la redundancia es máxima. Está desarrollada por Apache Software Foundation.

1.2. CARACTERISTICAS: -Descentralizado: Todos los nodos del clúster tienen el mismo rol. No hay un único punto de fallo. Los datos se distribuyen a través del clúster (por lo que cada nodo contiene datos diferentes). No existe un nodo maestro por lo que cada nodo puede dar servicio a cualquier solicitud. -Soporta replicación y replicación de múltiples data center: Las estrategias de replicación son configurables .22 Cassandra está diseñado como un sistema distribuido, para el despliegue de un gran número de nodos a través de múltiples centros de datos. La arquitectura distribuida de Cassandra está diseñado para desplegarse sobre múltiples data center, tener redundancia y recuperarse ante desastres. -Escalabilidad: El rendimiento de leer y escribir aumenta linealmente a medida que se añaden nuevos nodos. Se pueden agregar nuevos nodos sin necesidad de interrumpir la ejecución de la aplicación. -Tolerancia a fallos Los datos se replican automáticamente a múltiples nodos para recuperarse frente a fallos. Cassandra soporta replicación a través de múltiples data-center. Se puede reemplazar nodos que presenten fallos sin tiempo de inactividad o interrupción de la aplicación.

1.2.1. Ejemplo de Software

2. MONGO DB

2.1. Es un sistema de base de datos NoSQL, orientado a documentos y de código abierto. En lugar de guardar los datos en tablas, tal y como se hace en las bases de datos relacionales, MongoDB guarda estructuras de datos BSON (una especificación similar a JSON) con un esquema dinámico, haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida. MongoDB es una base de datos adecuada para su uso en producción y con múltiples funcionalidades. Esta base de datos se utiliza mucho en la industria.

2.2. -CARACTERISTICAS: -Consultas ad hoc: MongoDB soporta la búsqueda por campos, consultas de rangos y expresiones regulares. Las consultas pueden devolver un campo específico del documento, pero también puede ser una función definida por el usuario para su mejor ocupación. -Indexación: Cualquier campo en un documento de MongoDB puede ser indexado, al igual que es posible hacer índices secundarios. -Replicación: MongoDB soporta el tipo de replicación primario-secundario. Cada grupo de primario y sus secundarios se denomina replica set.13 El primario puede ejecutar comandos de lectura y escritura. Los secundarios replican los datos del primario y sólo se pueden usar para lectura o para copia de seguridad, pero no se pueden realizar escrituras. Los secundarios tienen la habilidad de poder elegir un nuevo primario en caso de que el primario actual deje de responder. -Ejecución de JavaScript del lado del servidor: MongoDB tiene la capacidad de realizar consultas utilizando JavaScript, haciendo que estas sean enviadas directamente a la base de datos para ser ejecutadas.

2.2.1. Ejemplo de Software

3. REDIS

3.1. Redis, que significa Remote Dictionary Server (servidor de diccionarios remoto), es un rápido almacén de datos clave-valor en memoria de código abierto que se puede utilizar como base de datos, caché, y agente de mensajes.

3.2. CARACTERISTICAS: -Increíblemente rápido: Los datos se encuentran en la memoria principal, a diferencia de otros sistemas que se encuentran en SSD o disco duro convencional. -Estructuras de datos en memoria. Con Redis podemos guardar claves de diferentes tipos de datos y disponemos de un tamaño máximo de 512MB para una cadena. -Replicación y Persistencia. Como comentamos antes, Redis hace uso de una arquitectura maestro-esclavo y acepta la replicación asíncrona que hace que pueda copiar datos en multitud de servidores esclavos. -Compatibilidad con casi cualquier lenguaje. Los que quieran desarrollar en Redis, pueden hacerlo con multitud de lenguajes de programación, como por ejemplo Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby y muchos más.

3.2.1. Ejemplo de Software

4. MEMCACHED

4.1. Es un sistema distribuido de propósito general para caché basado en memoria, diseñado por Danga Interactive y que es muy usado en la actualidad por múltiples sitios web.

4.2. CARACTERISTICAS: -Almacenamiento sencillo de llave / valor: Para el servidor de Memcached es indiferente el aspecto de los datos a almacenar. No trata de entender las estructuras de datos ni combinarlas de ninguna manera. -Los datos tienen caducidad: Cualquier información almacenada tiene caducidad, configurable, de modo que se pueda asegurar su frescura. -Datos distribuidos: En Memcached los datos pueden estar en varios servidores, aunque los servidores no se conocen entre sí. -Lógica en cliente y servidor: La lógica de Memcached está implementada tanto en el cliente como en el servidor. -Invalidación de la caché: Cuando un cliente necesita invalidar una caché, se dirige directamente al servidor que mantiene ese dato, en lugar de transmitir el nuevo dato a todos los servidores.

4.2.1. Ejemplo de Software

5. RIAK

5.1. RIAK KV es una base de datos de valores-clave NoSQL distribuida con replicación local y multi-cluster avanzada que garantiza lecturas y escrituras incluso en caso de fallas de hardware o particiones de red.

5.2. CARACTERISTICAS: -Escalabilidad: La escalabilidad con Riak es lineal, predecible y de coste efectivo. -Tolerancia a fallos: El cluster soporta o admite fallos en nodos aislados, o incluso en partes del cluster, está preparado para no perder datos ante este tipo de fallos. -Alta disponibilidad: Para alta disponibilidad el sistema debe de estar disponible, no solo para lecturas, sino también para escrituras. -Replicación: Dependiendo de las necesidades, Riak se puede configurar para replicar entre múltiples clusters iguales o diseñar uno o más clusters como solo-lectura o backup.

5.2.1. Ejemplo de Software