SlideShare una empresa de Scribd logo
2014 
Ulises Luque Paez 
Rafael Navarro Prieto 
Elisa Navarro Zuara 
Bases de datos NoSQL
IES Gran Capitán – Córdoba 1ºDAW 2014/2015 
1 
Bases de datos NoSQL 
Índice 
Índice ................................................................................................................................................................. 2 
Historia .............................................................................................................................................................. 3 
¿Qué es NoSQL? ................................................................................................................................................ 3 
Características ................................................................................................................................................... 4 
Ventajas ............................................................................................................................................................. 4 
Desventajas ....................................................................................................................................................... 4 
Tipos de datos y funciones ................................................................................................................................ 5 
NoSQL vs SQL ..................................................................................................................................................... 6 
Practica .............................................................................................................................................................. 7 
Bibliografía ......................................................................................................................................................... 9
IES Gran Capitán – Córdoba 1ºDAW 2014/2015 
2 
Bases de datos NoSQL 
Historia 
Con las principales compañías de Internet, crecieron los sistemas de datos NoSQL. Compañías como Google, Amazon, Twitter o Facebook debían enfrentarse a nuevos desafíos más complejos con el tratamiento surgiendo problemas tradicional sistema RDBMS. Estas compañías se dieron cuenta de que el rendimiento y sus propiedades de tiempo real eran más importantes que la coherencia en las bases de datos relacionales tradicionales, que dedicaban una gran cantidad de tiempo proceso. Surge así la necesidad de un cambio con respecto a las Bases datos tradicionales. 
El término NoSQL fue acuñado por Carlo Strozzi quien lo usó primera vez en 1998 para referirse a su base de datos. Se trataba una datos open-source, ligera, que aunque no ofrecía un interface SQL, sí seguía el modelo relacional. Un empleado de Rackspace, Eric Evans, volvió a introducir el término NoSQL cuando Johan Oskarsson de Last.fm organizó un evento para discutir bases de datos distribuidas código abierto. El nombre intentaba recoger el número creciente de bases datos no relacionales y distribuidos que no garantizaban ACID, atributo clave en las RDBMS clásicas. 
¿Qué es NoSQL? 
NoSQL hace referencia a una extensa clase de sistemas gestión bases datos, diferentes al modelo clásico del sistema de gestión bases de datos relacionales (RDBMS) en distintos aspectos, entre los que cabe destacar no usan SQL como el principal lenguaje de consultas. Los datos almacenados no requieren estructuras fijas como tablas, no suelen soportan operaciones JOIN, ni garantizan completamente ACID (atomicidad, consistencia, aislamiento y durabilidad), habitualmente escalan horizontalmente. 
Generalmente, los investigadores académicos se refieren a NoSQl como un tipo almacenamiento estructurado. Este término también es utilizado en las bases de datos relacionales clásicas. Frecuentemente, las bases de datos basadas en NoSQL se clasifican según la forma en que almacena los datos, y contienen categorías como clave-valor, las implementaciones de BigTable, bases datos documentales, y Bases de datos orientadas a grafos. 
Las bases de datos NoSQL normalmente están altamente preparadas para realizar operaciones como recuperar y agregar, a menudo no ofrecen mucho más que la funcionalidad de almacenar los registros. La pérdida flexibilidad en tiempo de ejecución, comparado con los sistemas SQL clásicos, se ve compensada por ganancias significativas en escalabilidad y rendimiento cuando se trata con ciertos modelos de datos una gran cantidad de información con la que trabajar.
IES Gran Capitán – Córdoba 1ºDAW 2014/2015 
3 
Bases de datos NoSQL 
Características 
 Consistencia: No utilizan ningún método concreto para verificar la consistencia de los datos, a diferencia de métodos bases datos relacionales que había una comunicación interna entre los nodos que contenían la información que eran sensi- bles a los cambios, es decir, cualquier cambio hacia que nodos se comunicaran entre si y se actualizarán para no perder la consistencia de información. 
Las bases de datos NoSQL son ACID, esto significa que una transacción cumple lo siguiente: 
o Atomicidad: es la propiedad que asegura operación se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias. 
o Consistencia: es la propiedad que asegura sólo se empieza aquello se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper la reglas y directrices de integridad base datos. 
o Aislamiento: es la propiedad que asegura una operación no puede afec- tar a otras. Esto asegura que la realización de dos transacciones sobre la misma información sean independientes y no generen ningún tipo de error. 
o Durabilidad: es la propiedad que asegura una vez realizada operación, ésta persistirá y no se podrá deshacer aunque falle el sistema. 
 Estructura distribuida: Generalmente se distribuyen los datos mediante mecanis- mos de tablas de hash (que contienes claves con valores) distribuidas como las redes P2P. 
 Escalabilidad Horizontal: Permite la implementación de elementos base datos a nivel horizontal permitiendo compartir una carga conjunta entre todos los elementos que forman la base de datos, forma que, si un servidor cae en mitad de un proceso los demás adquieren la carga este servidor caído hasta su reincor- poración en la red(auto-sharding). 
 Tolerancia a fallos (debido a la estructura ACID), redundancia y sin cuellos de bo- tella. 
Ventajas 
1. Manipulación de gran cantidad datos 
2. No presenta cuellos de botella 
3. No requieres una base de hardware muy costosa 
Desventajas 
1. No están lo suficientemente útil para algunas empresas 
2. Problemas de compatibilidad 
3. La falta de experiencia
IES Gran Capitán – Córdoba 1ºDAW 2014/2015 
4 
Bases de datos NoSQL 
Tipos de datos y funciones 
La mayoría de las bases datos NoSQL contienen los cuatro tipos siguientes 
 Bases de datos documentales 
o Permiten asociar una clave con un documento. Los documentos pueden con- tener una gran variedad de objetos. 
o Formato utilizado es JSON pero también puede ser XML 
o El servidor entiende los datos y puede operar con ellos. 
o Permite consultas avanzadas e incluso establecer relaciones entre ellas. 
o Ejemplos: mongodb, BigTable,etc. 
 Key-value stores 
o bases de datos simples que almacenan información en forma atributos (te- clas) y valores. En algunos casos, los valores pueden tener tipos como ca- dena y número entero. 
o Eficiencia en la lectura y escritura. 
o No permite un modelo de datos, todo lo guardado guarda forma binaria. 
o No importa el contenido sino la clave y valor asociado a ella. 
o API simple: Put, Get y Delete. 
o No permite consultas complejas, solo busca por la clave 
 Graph 
o Almacenan los datos en forma de grafo. 
o Importancia no solo en los datos sino la relación entre ellos. 
o Las relaciones pueden tener atributos y da la posibilidad de realizar consultas directas a las relaciones, olvidándonos de los nodos. 
o Permite la utilización de algoritmos estadísticos que facilita la tarea en algunos campos, Ejemplo: redes sociales. 
o Ejemplos: Neo4, Hyperbase, etc. 
 Wide-column stores 
o Están hechas para el manejo de grandes cantidades datos en forma columnas. 
o Parecidos similares a las Key-value store. 
o Perdida de eficiencia en modo escritura.
IES Gran Capitán – Córdoba 1ºDAW 2014/2015 
5 
Bases de datos NoSQL 
NoSQL vs SQL 
Como todo el mundo sabe, SQL es un estándar surgido en 1986 por la ANSI-SPARC que permitía el uso de un idioma capaz trabajar con bases datos relacionales. Estas de datos se relacionaban en tablas reduciendo notablemente el tiempo de acceso a la información, además de otros elementos que aceleran la búsqueda como es el caso los índices. No obstante NoSQL es un nuevo concepto de base datos que rechaza el uso del lenguaje SQL y la estructura relacional. 
Hoy en día muchas personas crees que el NoSQL sería un buen sustituto del estándar SQL, el cual posee una serie de mejoras: 
-El uso de tablas puede ser un gran problema si hablamos una cantidad información almacenada y, a la vez, un gran número de usuarios consultando dicha información de manera concurrente. EJ: Google o Amazon. 
-Los proyectos de programación a gran escala que utilizan tipos datos complejos y jerarquías, como XML, son difíciles de incorporar en SQL. Estos datos, que pueden contener objetos, listas y otros tipos de datos propios, no se correlacionan bien con las tablas que consisten en sólo las filas y columnas. 
-SQL si es funcional con bases de datos empresa que no manejes mucha información, y NOSQL es funcional con bases de datos gran tamaño. En definitiva, la importancia es saber qué problema el que se le plantea al usuario o usuarios crearan esa base de datos y, en base al problema, elegir la opción que mejor se adapte problema planteado. 
-Las bases de datos NoSQL escalan horizontalmente, añadiendo más servidores para hacer frente a cargas más grandes. Las bases de datos SQL, suelen escalar forma vertical, añadiendo más y tráfico a un solo servidor. 
-La iteración en la programación es otro de los problemas que NOSQL resuelve fácilmente con respecto a SQL. En las BBDD SQL requiere previamente la definición de un esquema que defina como será estructuradamente la base de datos, esto causa problemas dados que con la iteración no es posible definir, de primeras, el esquema final la BBDD aplicación creada. En cambio, en las bases de datos NOSQL son mucho más flexibles ese aspecto, dado que no define los esquemas del diseño previamente, permite a usuarios añadir información y hacer cambios en cualquier momento sin interrumpir el sistema o la necesidad de transferir una gran cantidad datos.
IES Gran Capitán – Córdoba 1ºDAW 2014/2015 
6 
Bases de datos NoSQL 
Practica 
Una vez hemos hablado un poco de NoSQL, nos proponemos a realizar unos ejemplos muy sencillos creando una colección de datos en mongodb haciendo referencia a la clase de 1º de desarrollo web del IES Gran Capitán. 
En primer lugar deberemos, en nuestro caso, ejecutar dos archivos ejecutables de mongodb que son: 
1º mongod.exe que será el servidor encargado de ejecutar todas las sentencias y almacenar las BD creadas en mongodb 
2º mongo.exe El cliente a través del cual, el usuario podrá trabajar con la base de datos en mongodb 
Una vez verificamos de que estamos en el Shell o consola mongodb (al ejecutar mongo.exe aparece la versión de mongoDB). Por defecto nos conecta en test. Para crear nuestra propia Base de Datos deberemos utilizar el comando use <nombre la colección> y nos saldrá el mensaje: switched to db Primerodaw. Esto realiza un cambio de nombre de la base datos de datos pero sin no se podrá guardar 
Si ejecutamos el comando show dbs nos aparecerá la base de datos creada. 
A continuación procederemos a insertar datos en esa base de datos. 
db. <Nombre de la colección>.save ({<Columna>:”<dato>”}) 
Una vez insertado datos en la colección Primerodaw podemos mostrar mediante el comando show collections las colecciones existentes. 
Podremos observar como aparecerá la colección Primerodaw (contiene los datos) y system.indexes (contiene los índices). 
A continuación realizaremos una consulta a toda la información que contiene esa colección (Select * from tabla en el caso de SQL).
IES Gran Capitán – Córdoba 1ºDAW 2014/2015 
7 
Bases de datos NoSQL 
db. <Colección>.find () 
Como podemos observar aparecen, en este ejemplo, el nombre de 4 alumnos con su primer apellido y un identificador de objeto (ObjectID) que identifica a cada valor En el caso SQL seria el identificador de cada registro.) 
También se puede realizar consultas específicas indicando, en este caso, que me muestre aquellos datos de la colección donde el alumno se llame Ulises. (En SQL seria hacer un SELECT * FROM <Tabla> WHERE Columna>=’<dato>’). 
db. <Colección>.findOne ({<Columna>=”<dato>”}) 
nota: En mongoDB al igual que en los lenguajes de programación orientada a objetos, es sensible las mayúsculas y minúsculas. Si se escribe findone y no findOne dará un error de sintaxis. 
Ahora realizaremos una eliminación de un alumno la colección y se muestra para verificar que el alumno con nombre Rafael ha sido eliminado. (En SQL sería lo mismo Delete from <Tabla> WHERE Columna>=’<dato>'). 
db.Primerodaw.remove ({<Columna>:”<dato>”}) 
Por ultimo realizaremos una eliminación complete de todo el contenido la colección Primerodaw (En SQL Seria un DROP TABLE <Tabla>). 
db.Primerodaw.drop () 
Al ejecutar ese comando nos muestra un mensaje TRUE, eso indica que se realizó perfectamente la eliminación de todos los datos colección, en caso erróneo, nos mostraría un FALSE indicando que no se puedo eliminar el contenido de la colección por fallos de sintaxis. Una vez está la colección vacía volvemos a mostrar las colecciones con el comando show collections y cómo podemos ver ha desaparecido la colección Primerodaw porque no contiene ninguna información.
IES Gran Capitán – Córdoba 1ºDAW 2014/2015 
8 
Bases de datos NoSQL 
Bibliografía 
Historia NoSQL Consultado en: http://es.wikipedia.org/wiki/NoSQL 
NoSQL vs SQL Consultado en: https://www.udemy.com/blog/es/nosql-vs-sql-tiempo-para-un-cambio/ 
Características NoSQL Consultado en: https://www.udemy.com/blog/es/nosql-vs-sql-tiempo-para-un-cambio/ 
NoSQL Presentación prezi Felipe Giraldo Consultado en: http://prezi.com/ngyamea-bmxn/nosql/ 
Ventajas y Desventajas Consultado en: http://www.linux-party.com/index.php/89-basesdedatos/6599-5-pros-y-5- contras-de-cinco-bases-de-datos-nosql-#

Más contenido relacionado

La actualidad más candente

Arquitectura centralizada
Arquitectura centralizadaArquitectura centralizada
Arquitectura centralizada
Jenny Huitron Jimenez
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de información
NAHAMA19
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
omfib123
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
Blanca Parra
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
Camila Arbelaez
 
Unidad v arboles ESTRUCTURA DE DATOS
Unidad v arboles ESTRUCTURA DE DATOSUnidad v arboles ESTRUCTURA DE DATOS
Unidad v arboles ESTRUCTURA DE DATOS
Anthony Can
 
Fundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacionalFundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacional
José Antonio Sandoval Acosta
 
Funciones de un sistema de proteccion + matrices de acceso
Funciones de un sistema de proteccion + matrices de accesoFunciones de un sistema de proteccion + matrices de acceso
Funciones de un sistema de proteccion + matrices de acceso
Marco Lopez
 
Gestión de la Configuración - Fundamentos de la Gestión TI
Gestión de la Configuración - Fundamentos de la Gestión TIGestión de la Configuración - Fundamentos de la Gestión TI
Gestión de la Configuración - Fundamentos de la Gestión TI
aajo13
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
Lely
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRequisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
Rene Guaman-Quinche
 
Registros del cpu!
Registros del cpu!Registros del cpu!
Registros del cpu!
romo91
 
DESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOSDESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOS
UDEC
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
ChriztOpher Medina
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
caredimaria
 
Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del software
Giovani Ramirez
 
ciclo de vida de los Sistemas de informacion
ciclo de vida de los Sistemas de informacionciclo de vida de los Sistemas de informacion
ciclo de vida de los Sistemas de informacion
davinson garcia
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
Javier Alvarez
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
Software Guru
 
costos del software
costos del softwarecostos del software
costos del software
Diego Caballero
 

La actualidad más candente (20)

Arquitectura centralizada
Arquitectura centralizadaArquitectura centralizada
Arquitectura centralizada
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de información
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
Unidad v arboles ESTRUCTURA DE DATOS
Unidad v arboles ESTRUCTURA DE DATOSUnidad v arboles ESTRUCTURA DE DATOS
Unidad v arboles ESTRUCTURA DE DATOS
 
Fundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacionalFundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacional
 
Funciones de un sistema de proteccion + matrices de acceso
Funciones de un sistema de proteccion + matrices de accesoFunciones de un sistema de proteccion + matrices de acceso
Funciones de un sistema de proteccion + matrices de acceso
 
Gestión de la Configuración - Fundamentos de la Gestión TI
Gestión de la Configuración - Fundamentos de la Gestión TIGestión de la Configuración - Fundamentos de la Gestión TI
Gestión de la Configuración - Fundamentos de la Gestión TI
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRequisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Registros del cpu!
Registros del cpu!Registros del cpu!
Registros del cpu!
 
DESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOSDESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOS
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del software
 
ciclo de vida de los Sistemas de informacion
ciclo de vida de los Sistemas de informacionciclo de vida de los Sistemas de informacion
ciclo de vida de los Sistemas de informacion
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
costos del software
costos del softwarecostos del software
costos del software
 

Destacado

Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Diego López-de-Ipiña González-de-Artaza
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
Gusttavo Nipas
 
Comparaciones entre SGBD
Comparaciones entre SGBD Comparaciones entre SGBD
Comparaciones entre SGBD
JonathanUCV
 
Instalación de sgbd en diferentes plataformas de windows
Instalación de sgbd en diferentes plataformas de windowsInstalación de sgbd en diferentes plataformas de windows
Instalación de sgbd en diferentes plataformas de windows
Daniel Huerta Cruz
 
Consideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSConsideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMS
evavivez
 
Lenguajes de bases de datos
Lenguajes  de bases de datos Lenguajes  de bases de datos
Lenguajes de bases de datos
Anita Ortiz
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datos
ralbarracin
 
Funciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de DatosFunciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de Datos
Jesus Parra
 

Destacado (8)

Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Comparaciones entre SGBD
Comparaciones entre SGBD Comparaciones entre SGBD
Comparaciones entre SGBD
 
Instalación de sgbd en diferentes plataformas de windows
Instalación de sgbd en diferentes plataformas de windowsInstalación de sgbd en diferentes plataformas de windows
Instalación de sgbd en diferentes plataformas de windows
 
Consideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSConsideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMS
 
Lenguajes de bases de datos
Lenguajes  de bases de datos Lenguajes  de bases de datos
Lenguajes de bases de datos
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datos
 
Funciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de DatosFunciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de Datos
 

Similar a SGBD NoSQL

Bases de datos
Bases de datosBases de datos
Bases de datos
Ehrik Guerrero
 
Bases de datos
Bases de datosBases de datos
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática Médica
Liz Armenteros
 
Bases de datos
Bases de datosBases de datos
Bases de datos
Angélica Calzada
 
Bases de datos existentes
Bases de datos existentesBases de datos existentes
Bases de datos existentes
ROSA ADELFA LOPEZ CALDERON
 
Características de las 5 Base de Datos más importantes
Características de las 5 Base de Datos más importantesCaracterísticas de las 5 Base de Datos más importantes
Características de las 5 Base de Datos más importantes
Ramón Eli Montiel Ariguznaga
 
Base de datos felipe ventura
Base de datos felipe venturaBase de datos felipe ventura
Base de datos felipe ventura
contajunta
 
base de datos
base de datosbase de datos
base de datos
esme rosas
 
Base de datos
Base de datosBase de datos
Base de datos
Blanca Huerta Carrillo
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
Claudia San Agustín
 
Basesdedatos curso
Basesdedatos cursoBasesdedatos curso
Basesdedatos curso
Pacodgo
 
Presentacion power point
Presentacion power pointPresentacion power point
Presentacion power point
Jose Manzano
 
BASES DE DATOS
BASES DE DATOSBASES DE DATOS
BASES DE DATOS
Mayra Franca Cruz
 
Bases de datos
Bases de datosBases de datos
Bases de datos
cepidalord
 
Act4 presentación jiménez_mireya
Act4 presentación jiménez_mireyaAct4 presentación jiménez_mireya
Act4 presentación jiménez_mireya
Mireya Jiménez Rodriguez
 
Act4 presentación jiménez_mireya
Act4 presentación jiménez_mireyaAct4 presentación jiménez_mireya
Act4 presentación jiménez_mireya
Mireya Jiménez Rodriguez
 
02 base de datos hernandez_luis
02 base de datos hernandez_luis02 base de datos hernandez_luis
02 base de datos hernandez_luis
luishernandez1576
 
Bases de datos
Bases de datosBases de datos
Bases de datos
Gleyri Gomez
 
Alfredo reyes
Alfredo reyesAlfredo reyes
Alfredo reyes
Alfredo Reyes May
 
Alfredo reyes
Alfredo reyesAlfredo reyes
Alfredo reyes
Carmen Rojas Gil
 

Similar a SGBD NoSQL (20)

Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática Médica
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos existentes
Bases de datos existentesBases de datos existentes
Bases de datos existentes
 
Características de las 5 Base de Datos más importantes
Características de las 5 Base de Datos más importantesCaracterísticas de las 5 Base de Datos más importantes
Características de las 5 Base de Datos más importantes
 
Base de datos felipe ventura
Base de datos felipe venturaBase de datos felipe ventura
Base de datos felipe ventura
 
base de datos
base de datosbase de datos
base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 
Basesdedatos curso
Basesdedatos cursoBasesdedatos curso
Basesdedatos curso
 
Presentacion power point
Presentacion power pointPresentacion power point
Presentacion power point
 
BASES DE DATOS
BASES DE DATOSBASES DE DATOS
BASES DE DATOS
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Act4 presentación jiménez_mireya
Act4 presentación jiménez_mireyaAct4 presentación jiménez_mireya
Act4 presentación jiménez_mireya
 
Act4 presentación jiménez_mireya
Act4 presentación jiménez_mireyaAct4 presentación jiménez_mireya
Act4 presentación jiménez_mireya
 
02 base de datos hernandez_luis
02 base de datos hernandez_luis02 base de datos hernandez_luis
02 base de datos hernandez_luis
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Alfredo reyes
Alfredo reyesAlfredo reyes
Alfredo reyes
 
Alfredo reyes
Alfredo reyesAlfredo reyes
Alfredo reyes
 

Último

Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 

Último (7)

Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 

SGBD NoSQL

  • 1. 2014 Ulises Luque Paez Rafael Navarro Prieto Elisa Navarro Zuara Bases de datos NoSQL
  • 2. IES Gran Capitán – Córdoba 1ºDAW 2014/2015 1 Bases de datos NoSQL Índice Índice ................................................................................................................................................................. 2 Historia .............................................................................................................................................................. 3 ¿Qué es NoSQL? ................................................................................................................................................ 3 Características ................................................................................................................................................... 4 Ventajas ............................................................................................................................................................. 4 Desventajas ....................................................................................................................................................... 4 Tipos de datos y funciones ................................................................................................................................ 5 NoSQL vs SQL ..................................................................................................................................................... 6 Practica .............................................................................................................................................................. 7 Bibliografía ......................................................................................................................................................... 9
  • 3. IES Gran Capitán – Córdoba 1ºDAW 2014/2015 2 Bases de datos NoSQL Historia Con las principales compañías de Internet, crecieron los sistemas de datos NoSQL. Compañías como Google, Amazon, Twitter o Facebook debían enfrentarse a nuevos desafíos más complejos con el tratamiento surgiendo problemas tradicional sistema RDBMS. Estas compañías se dieron cuenta de que el rendimiento y sus propiedades de tiempo real eran más importantes que la coherencia en las bases de datos relacionales tradicionales, que dedicaban una gran cantidad de tiempo proceso. Surge así la necesidad de un cambio con respecto a las Bases datos tradicionales. El término NoSQL fue acuñado por Carlo Strozzi quien lo usó primera vez en 1998 para referirse a su base de datos. Se trataba una datos open-source, ligera, que aunque no ofrecía un interface SQL, sí seguía el modelo relacional. Un empleado de Rackspace, Eric Evans, volvió a introducir el término NoSQL cuando Johan Oskarsson de Last.fm organizó un evento para discutir bases de datos distribuidas código abierto. El nombre intentaba recoger el número creciente de bases datos no relacionales y distribuidos que no garantizaban ACID, atributo clave en las RDBMS clásicas. ¿Qué es NoSQL? NoSQL hace referencia a una extensa clase de sistemas gestión bases datos, diferentes al modelo clásico del sistema de gestión bases de datos relacionales (RDBMS) en distintos aspectos, entre los que cabe destacar no usan SQL como el principal lenguaje de consultas. Los datos almacenados no requieren estructuras fijas como tablas, no suelen soportan operaciones JOIN, ni garantizan completamente ACID (atomicidad, consistencia, aislamiento y durabilidad), habitualmente escalan horizontalmente. Generalmente, los investigadores académicos se refieren a NoSQl como un tipo almacenamiento estructurado. Este término también es utilizado en las bases de datos relacionales clásicas. Frecuentemente, las bases de datos basadas en NoSQL se clasifican según la forma en que almacena los datos, y contienen categorías como clave-valor, las implementaciones de BigTable, bases datos documentales, y Bases de datos orientadas a grafos. Las bases de datos NoSQL normalmente están altamente preparadas para realizar operaciones como recuperar y agregar, a menudo no ofrecen mucho más que la funcionalidad de almacenar los registros. La pérdida flexibilidad en tiempo de ejecución, comparado con los sistemas SQL clásicos, se ve compensada por ganancias significativas en escalabilidad y rendimiento cuando se trata con ciertos modelos de datos una gran cantidad de información con la que trabajar.
  • 4. IES Gran Capitán – Córdoba 1ºDAW 2014/2015 3 Bases de datos NoSQL Características  Consistencia: No utilizan ningún método concreto para verificar la consistencia de los datos, a diferencia de métodos bases datos relacionales que había una comunicación interna entre los nodos que contenían la información que eran sensi- bles a los cambios, es decir, cualquier cambio hacia que nodos se comunicaran entre si y se actualizarán para no perder la consistencia de información. Las bases de datos NoSQL son ACID, esto significa que una transacción cumple lo siguiente: o Atomicidad: es la propiedad que asegura operación se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias. o Consistencia: es la propiedad que asegura sólo se empieza aquello se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper la reglas y directrices de integridad base datos. o Aislamiento: es la propiedad que asegura una operación no puede afec- tar a otras. Esto asegura que la realización de dos transacciones sobre la misma información sean independientes y no generen ningún tipo de error. o Durabilidad: es la propiedad que asegura una vez realizada operación, ésta persistirá y no se podrá deshacer aunque falle el sistema.  Estructura distribuida: Generalmente se distribuyen los datos mediante mecanis- mos de tablas de hash (que contienes claves con valores) distribuidas como las redes P2P.  Escalabilidad Horizontal: Permite la implementación de elementos base datos a nivel horizontal permitiendo compartir una carga conjunta entre todos los elementos que forman la base de datos, forma que, si un servidor cae en mitad de un proceso los demás adquieren la carga este servidor caído hasta su reincor- poración en la red(auto-sharding).  Tolerancia a fallos (debido a la estructura ACID), redundancia y sin cuellos de bo- tella. Ventajas 1. Manipulación de gran cantidad datos 2. No presenta cuellos de botella 3. No requieres una base de hardware muy costosa Desventajas 1. No están lo suficientemente útil para algunas empresas 2. Problemas de compatibilidad 3. La falta de experiencia
  • 5. IES Gran Capitán – Córdoba 1ºDAW 2014/2015 4 Bases de datos NoSQL Tipos de datos y funciones La mayoría de las bases datos NoSQL contienen los cuatro tipos siguientes  Bases de datos documentales o Permiten asociar una clave con un documento. Los documentos pueden con- tener una gran variedad de objetos. o Formato utilizado es JSON pero también puede ser XML o El servidor entiende los datos y puede operar con ellos. o Permite consultas avanzadas e incluso establecer relaciones entre ellas. o Ejemplos: mongodb, BigTable,etc.  Key-value stores o bases de datos simples que almacenan información en forma atributos (te- clas) y valores. En algunos casos, los valores pueden tener tipos como ca- dena y número entero. o Eficiencia en la lectura y escritura. o No permite un modelo de datos, todo lo guardado guarda forma binaria. o No importa el contenido sino la clave y valor asociado a ella. o API simple: Put, Get y Delete. o No permite consultas complejas, solo busca por la clave  Graph o Almacenan los datos en forma de grafo. o Importancia no solo en los datos sino la relación entre ellos. o Las relaciones pueden tener atributos y da la posibilidad de realizar consultas directas a las relaciones, olvidándonos de los nodos. o Permite la utilización de algoritmos estadísticos que facilita la tarea en algunos campos, Ejemplo: redes sociales. o Ejemplos: Neo4, Hyperbase, etc.  Wide-column stores o Están hechas para el manejo de grandes cantidades datos en forma columnas. o Parecidos similares a las Key-value store. o Perdida de eficiencia en modo escritura.
  • 6. IES Gran Capitán – Córdoba 1ºDAW 2014/2015 5 Bases de datos NoSQL NoSQL vs SQL Como todo el mundo sabe, SQL es un estándar surgido en 1986 por la ANSI-SPARC que permitía el uso de un idioma capaz trabajar con bases datos relacionales. Estas de datos se relacionaban en tablas reduciendo notablemente el tiempo de acceso a la información, además de otros elementos que aceleran la búsqueda como es el caso los índices. No obstante NoSQL es un nuevo concepto de base datos que rechaza el uso del lenguaje SQL y la estructura relacional. Hoy en día muchas personas crees que el NoSQL sería un buen sustituto del estándar SQL, el cual posee una serie de mejoras: -El uso de tablas puede ser un gran problema si hablamos una cantidad información almacenada y, a la vez, un gran número de usuarios consultando dicha información de manera concurrente. EJ: Google o Amazon. -Los proyectos de programación a gran escala que utilizan tipos datos complejos y jerarquías, como XML, son difíciles de incorporar en SQL. Estos datos, que pueden contener objetos, listas y otros tipos de datos propios, no se correlacionan bien con las tablas que consisten en sólo las filas y columnas. -SQL si es funcional con bases de datos empresa que no manejes mucha información, y NOSQL es funcional con bases de datos gran tamaño. En definitiva, la importancia es saber qué problema el que se le plantea al usuario o usuarios crearan esa base de datos y, en base al problema, elegir la opción que mejor se adapte problema planteado. -Las bases de datos NoSQL escalan horizontalmente, añadiendo más servidores para hacer frente a cargas más grandes. Las bases de datos SQL, suelen escalar forma vertical, añadiendo más y tráfico a un solo servidor. -La iteración en la programación es otro de los problemas que NOSQL resuelve fácilmente con respecto a SQL. En las BBDD SQL requiere previamente la definición de un esquema que defina como será estructuradamente la base de datos, esto causa problemas dados que con la iteración no es posible definir, de primeras, el esquema final la BBDD aplicación creada. En cambio, en las bases de datos NOSQL son mucho más flexibles ese aspecto, dado que no define los esquemas del diseño previamente, permite a usuarios añadir información y hacer cambios en cualquier momento sin interrumpir el sistema o la necesidad de transferir una gran cantidad datos.
  • 7. IES Gran Capitán – Córdoba 1ºDAW 2014/2015 6 Bases de datos NoSQL Practica Una vez hemos hablado un poco de NoSQL, nos proponemos a realizar unos ejemplos muy sencillos creando una colección de datos en mongodb haciendo referencia a la clase de 1º de desarrollo web del IES Gran Capitán. En primer lugar deberemos, en nuestro caso, ejecutar dos archivos ejecutables de mongodb que son: 1º mongod.exe que será el servidor encargado de ejecutar todas las sentencias y almacenar las BD creadas en mongodb 2º mongo.exe El cliente a través del cual, el usuario podrá trabajar con la base de datos en mongodb Una vez verificamos de que estamos en el Shell o consola mongodb (al ejecutar mongo.exe aparece la versión de mongoDB). Por defecto nos conecta en test. Para crear nuestra propia Base de Datos deberemos utilizar el comando use <nombre la colección> y nos saldrá el mensaje: switched to db Primerodaw. Esto realiza un cambio de nombre de la base datos de datos pero sin no se podrá guardar Si ejecutamos el comando show dbs nos aparecerá la base de datos creada. A continuación procederemos a insertar datos en esa base de datos. db. <Nombre de la colección>.save ({<Columna>:”<dato>”}) Una vez insertado datos en la colección Primerodaw podemos mostrar mediante el comando show collections las colecciones existentes. Podremos observar como aparecerá la colección Primerodaw (contiene los datos) y system.indexes (contiene los índices). A continuación realizaremos una consulta a toda la información que contiene esa colección (Select * from tabla en el caso de SQL).
  • 8. IES Gran Capitán – Córdoba 1ºDAW 2014/2015 7 Bases de datos NoSQL db. <Colección>.find () Como podemos observar aparecen, en este ejemplo, el nombre de 4 alumnos con su primer apellido y un identificador de objeto (ObjectID) que identifica a cada valor En el caso SQL seria el identificador de cada registro.) También se puede realizar consultas específicas indicando, en este caso, que me muestre aquellos datos de la colección donde el alumno se llame Ulises. (En SQL seria hacer un SELECT * FROM <Tabla> WHERE Columna>=’<dato>’). db. <Colección>.findOne ({<Columna>=”<dato>”}) nota: En mongoDB al igual que en los lenguajes de programación orientada a objetos, es sensible las mayúsculas y minúsculas. Si se escribe findone y no findOne dará un error de sintaxis. Ahora realizaremos una eliminación de un alumno la colección y se muestra para verificar que el alumno con nombre Rafael ha sido eliminado. (En SQL sería lo mismo Delete from <Tabla> WHERE Columna>=’<dato>'). db.Primerodaw.remove ({<Columna>:”<dato>”}) Por ultimo realizaremos una eliminación complete de todo el contenido la colección Primerodaw (En SQL Seria un DROP TABLE <Tabla>). db.Primerodaw.drop () Al ejecutar ese comando nos muestra un mensaje TRUE, eso indica que se realizó perfectamente la eliminación de todos los datos colección, en caso erróneo, nos mostraría un FALSE indicando que no se puedo eliminar el contenido de la colección por fallos de sintaxis. Una vez está la colección vacía volvemos a mostrar las colecciones con el comando show collections y cómo podemos ver ha desaparecido la colección Primerodaw porque no contiene ninguna información.
  • 9. IES Gran Capitán – Córdoba 1ºDAW 2014/2015 8 Bases de datos NoSQL Bibliografía Historia NoSQL Consultado en: http://es.wikipedia.org/wiki/NoSQL NoSQL vs SQL Consultado en: https://www.udemy.com/blog/es/nosql-vs-sql-tiempo-para-un-cambio/ Características NoSQL Consultado en: https://www.udemy.com/blog/es/nosql-vs-sql-tiempo-para-un-cambio/ NoSQL Presentación prezi Felipe Giraldo Consultado en: http://prezi.com/ngyamea-bmxn/nosql/ Ventajas y Desventajas Consultado en: http://www.linux-party.com/index.php/89-basesdedatos/6599-5-pros-y-5- contras-de-cinco-bases-de-datos-nosql-#