1 / 34

Bases de Datos No SQL

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Administración de Bases de Datos. Bases de Datos No SQL. Cesar Hernández Rafael Machado Sandra Jiménez. Agenda. Sistema Relacional y SQL ¿Qué es NoSQL ? . Origen Características de NoSQL

Download Presentation

Bases de Datos No SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universidad Central de VenezuelaFacultad de CienciasEscuela de Computación Administración de Bases de Datos Bases de DatosNo SQL Cesar Hernández Rafael Machado Sandra Jiménez

  2. Agenda • Sistema Relacional y SQL • ¿Qué es NoSQL? . Origen • Características de NoSQL • Tipos de Base de Datos NoSQL • Arquitectura y Funcionamiento • Usuarios y Aplicaciones • Ventajas y Desventajas 2

  3. Sistema Relacional • El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. • Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. 3

  4. Caracteristicas del Sistema Relacional • Codd perseguía una serie de objetivos: • Independencia física. • Independencia lógica. • Flexibilidad. • Uniformidad. • Sencillez. 4

  5. Conceptos Básicos del Sistema Relacional • Tablas • Atributos • Esquemas • Tuplas • Dominios 5

  6. SQL - StructuredQueryLanguange • Los orígenes del SQL están ligados a los de las bases de datos relacionales. • Los laboratorios de IBM definen el lenguaje SEQUEL (Structured English QUEryLanguage). • Oracle introcuce SQL en 1979 en un programa comercial. • SQL es un lenguaje declarativo de “alto nivel” de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones en éstos. 6

  7. NoSQL • NoSQL (a veces llamado "no sólo SQL") es una amplia clase de sistemas de gestión de bases de datos que difieren del modelo clásico del sistema de gestión de bases de datos relacionales (RDBMS) en aspectos importantes, el más destacado que no usan SQL(StructuredQueryLanguage) como el principal lenguaje de consultas.  7

  8. Origen del NoSQL • El término NOSQL fue acuñado a principios de 2009 por un empleado de Rackspace, Eric Evans, cuando Johan Oskarsson de Last.fm quiso organizar un evento para discutir bases de datos distribuidas de código abierto. • El nombre intenta describir la emergencia de un número creciente de bases de datos no relacionales y distribuidas que no suelen proveer garantias ACID. • El término hace referencia a la manera de llamar a las bases de datos relacionales clásicas como MySQL, MS SQL, PostgreSQL, etc. 8

  9. Características de No SQL • Consistencia Eventual. • Estructura distribuida. • Ausencia de esquema en los registros de datos. • Escalabilidad horizontal sencilla. • Alta velocidad de respuesta a peticiones. 9

  10. Tipos de BD NoSQL 10

  11. BD orientada a grafos • La información es representada en nodos • Ya está normalizada • No hay que definir un número determinado de atributos • Recorrido • ¿Cuándo usarlas? • Algunas BD • Neo4j • HyperGraph-DB • RDF 11

  12. BD orientada a grafos • Ejemplo: 12

  13. BD de familia de columnas • Bigtable • ¿Por qué se creó? • Estructura • Tablas: “tablets” • Servidores master • Chunkservers • Hypertable • Utiliza lenguaje HQL • Estructura 13

  14. BD de familia de columnas 14

  15. BD clave-valor • Se tiene una clave única y un valor que contiene toda la información asociada a la clave • La información esta condensada en una súper lista en la que podemos tener índices • Búsquedas • Permite variar la estructura de la información que se almacena 15

  16. BD clave-valor • Ejemplo: Claves Valores John Smith 000 001 001 001 001 001 001 001 001 75475 754575 345435 : Lisa Smith : Sam Doe 16

  17. BD orientada a documentos • Soportan modelos de datos más complejos que el anterior tipo clave – documento • No almacenan datos en tablas con campos uniformes para cada fila o registro • Cada documento es almacenado de forma que tenga ciertas características, cualquier número o tipo de campos pueden ser añadidos a un documento 17

  18. Arquitectura de NoSQL S B D R PAXOS NoSQL 18

  19. Arquitectura de NoSQL • BASE • Basically Available • Soft-State • Eventual Consistency • Generalmente arquitectura distribuida • Internet • Características: • Escalabilidad horizontal • Tolerancia a fallas • Redundancia 19

  20. Usuarios y Aplicaciones 20

  21. Cassandra • Es un sistema de almacenamiento distribuido escrito en Java de código abierto, descentralizado, escalable, altamente disponible, tolerante a fallos, eventualmente consistente, y orientado a columnas. • Es mantenido por la fundación Apache. • Se originó en Facebook en el 2007 para solventar los problemas de búsqueda interna de datos que tenía la compañía, la cual tiene que tratar con grandes volúmenes de datos. 21

  22. Características de Cassandra • Distribuido y Descentralizado • Escalabilidad flexible • Alta disponibilidad y tolerancia a fallos • Orientación a columnas • Libre esquema • Sin lenguaje de consulta • Sin integridad referencial 22

  23. Modelo de datos de Cassandra • Clúster • Espacio Clave • Familias de columnas • Columnas • Supercolumnas 23

  24. ¿Quienes usan Cassandra? 24

  25. Modelado de datos relacional vs un modelado de datos de Cassandra 25

  26. CouchDB • Base de datos documental sin esquema, consultable al estilo MapReduce, accesible por REST y con una funcionalidad de replicación integrada. • Se trata de una base de datos NoSQL que emplea JSON para almacenar los datos, JavaScript como lenguaje de consulta por medio de MapReduce y HTTP como API. 26

  27. Características de CouchDB • Plataforma de bases de datos simplificada sin esquema • Centrada en documentos • No sigue el modelo relacional • Facilita la distribución • Alta escalabilidad • Tolerancia a fallos • Replicación bidireccional • Preparada para funcionar offline • Orientada a Internet 27

  28. CouchDb – Ejemplo de JSON • JSON, acrónimo de JavaScript ObjectNotation, es un formato ligero para el intercambio de datos. {"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": “CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] } } } <menu id="file" value="File"> <popup> <menuitemvalue="New" onclick="CreateNewDoc()" /> <menuitemvalue="Open" onclick="OpenDoc()" /> <menuitemvalue="Close" onclick="CloseDoc()" /> </popup> </menu> JSON XML 28

  29. Características de CouchDB • Plataforma de bases de datos simplificada sin esquema. No sigue el modelo relacional • Centrada en documentos • Facilita la distribución • Alta escalabilidad • Tolerancia a fallos • Replicación bidireccional • Preparada para funcionar offline • Orientada a Internet 29

  30. Ejemplo de documento en CouchDB 30

  31. Ejemplo de Map en CouchDB 31

  32. Ejemplo de Reduce en Couch DB 32

  33. Ventajas • Estos sistemas responden a las necesidades de escalabilidad horizontal que tienen cada vez más empresas. • Pueden manejar enormes cantidades de datos. • No generan cuellos de botella. • Alta velocidad de respuesta. • Diferentes DBsNoSQL para diferentes proyectos. • Se ejecutan en clusters de máquinas baratas. 33

  34. Desventajas • El código abierto puede significar una "mancha" en el soporte para las empresas.  • No están lo suficientemente maduros para algunas empresas.de experiencia. • Limitaciones de Inteligencia de Negocios. • Problemas de compatibilidad. 34

More Related