1. BASES DE DATOS
NO-SQL
PROYECTO PRIMER PACIAL
INTEGRANTES
2016
4TO “A”
TELEINFORMATICA
*CHANAVÁ CORTEZ KEVIN
*JARA SINCHI JUAN
*JARAMILLO MARCIAL ERICK
*VILLALOBOS BALLA XIMENA
2. INTRODUCCIÓN
NoSQL, que fue acuñado en 1998, se refería a una base de datos relacional de código
abierto que no usaba un lenguaje de consultas SQL (StructuredQueryLanguage).
Hasta 2009 estas cinco letras cayeron en el olvido, pero fue Johan Oskarsson, entonces
empleado de Last.fm, quien organizó un evento para tratar las bases de datos
distribuidas de código abierto no relacionales, llamándolas “NOSQL”, Not-Only SQL.
Son un enfoque hacia la gestión de datos y el diseño de base de datos que es útil para
grandes conjuntos de datos distribuidos.
BASES DE DATOS NO-SQL
3. Estas Bases de Datos carecen de un esquema entidad-relación pues no imponen como
regla una estructura basada en datos en forma de tablas y relaciones entre ellas sino
son más flexibles, ya que permiten almacenar información en formatos como clave-
valor, Mapeo de Columnas, Documentos o Grafos.
Características:
Consistencia Eventual: No se implementan mecanismos rígidos de consistencia
como los presentes en las bases de datos relacionales.
Estructura distribuida: Generalmente se distribuyen los datos mediante
mecanismos de tablas de hash distribuidas.
Escalabilidad horizontal: Consiste en la posibilidad de aumentar el
rendimiento del sistema simplemente añadiendo más nodos.
Tolerancia a fallos y Redundancia.
No generan cuellos de botella.
Solo lo estrictamente necesario: son sistemas simples que no tienen un
sistema de consulta complejo ni con capacidad declarativa para en una sola
línea realizar una cantidad interna de operaciones desorbitada.
VENTAJAS
1. Estos sistemas responden a las necesidades de escalabilidad horizontal que
tienen cada vez más empresas.
2. Pueden manejar enormes cantidades de datos.
3. No generan cuellos de botella.
4. Escalamiento sencillo.
5. Diferentes DBsNoSQL para diferentes proyectos.
4. Desventajas
1. El código abierto puede significar una "mancha" en el soporte para las
empresas.
2. No están lo suficientemente maduros para algunas empresas.
3. La falta de experiencia.
4. Problemas de compatibilidad.
5. Limitaciones de Inteligencia de Negocios.
COMPARACION CON OTRO TIPO DE BASE DE DATOS
En la parte comercial tenemos Oracle y Microsoft SQL Server. Del lado del software
libre, tenemos opciones como Postgre SQL o MySQL. Aunque cada una tiene sus
peculiaridades, para un desarrollador no es difícil elegir entre un sistema y otro. Al final
todo son tablas, columnas, claves primarias, y sobre todo, consultas SQL. La decisión de
cuál elegir, se basará en sus características y precio.
Si hablamos de bases de datos NoSQL, la cosa se complica. A día de hoy existen unos
150 sistemas de bases de datos NoSQL. Elegir uno de ellos puede ser muy difícil, ya
que ninguno ha obtenido todavía la fama que sí han conseguido las bases de datos
relacionales.
Pero el problema principal que encontramos, es que aunque todas se denominan
NoSQL, en realidad hay diferentes tipos.
Así que veamos en qué consisten estos sistemas, para que podamos elegir la opción
que mejor se adapte a nuestras necesidades.
5. PRODUCTOS OFRECIDOS AL MERCADO
*Cassandra ofrece soporte robusto para múltiples centros de datos1 , con la
replicación asincrónica sin necesitar un servidor maestro, permiten operaciones de baja
latencia para todos los clientes.
*Redis se basa en la estructura de datos del tipo diccionario o tabla de hashes que
relaciona una llave a un contenido almacenado en un índice.
*Apache CouchDB a diferencia de una base de datos relacional, CouchDB no
almacena los datos y sus relaciones en tablas.
*MongoDB es una base de datos orientada a documentos. Esto quiere decir que en
lugar de guardar los datos en registros, guarda los datos en documentos.
*Riak está basada en el documento escrito por Amazon sobre el sistema de
almacenamiento Dynamo, el cual se basa en un sistema de alta disponibilidad.
6. Conclusiones:
No hay una base de datos NO-SQL o relacional ideal, cada base de datos tiene sus
ventajas y desventajas para algún caso particular.
Teniendo en cuenta lo nuevo de estos productos y la edad alcanzada por bases de datos
relacionales como Oracle, inclusive MYSQL se puede afirmar que es muy importante
esperar desarrollo de técnicas o guías que permitan:
Establecer la naturaleza relacional de un problema
Establecer las características y el tipo de problemas que son candidatos para solución
con bases de datos NOSQL
Para clasificar el problema como un candidato para CA o AP o CP
Igualmente importante es que se pueda establecer si la solución debe emplear una
arquitectura mixta con bases de datos NOSQL y relacionales.
Podría ser más aconsejable usar una Configuración para una arquitectura Mixta donde
para se puede utilizar las bases de datos relacionales y para otras operaciones usar una
plataforma NOSQL pero depende de la prioridad de solución de su problema.