La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Bd NoSQL Datos y Taxonomía PROFA. MERCY OSPINA

Presentaciones similares


Presentación del tema: "Bd NoSQL Datos y Taxonomía PROFA. MERCY OSPINA"— Transcripción de la presentación:

1 Bd NoSQL Datos y Taxonomía PROFA. MERCY OSPINA mercy.ospinat@gmail.com

2 Agenda Modelos de datos Estructurados Semi y no estructurados Características de las BD NoSQL Taxonomía Arquitectura

3 Modelos de datos Estructurados ◦Datos fuertemente tipados ◦Estructura rígida ◦Modelo relacional y orientado a objetos

4 Modelo Relacional Propuesto en 1970 por Edgar Frank Codd ◦El esquema de una relación dada, está definida por un conjunto de parejas de atributo y nombres de dominio. ◦R = {A1:d1, A2:d2, …, An:dn} ◦El esquema de la relación persona ◦Persona= {(Cédula:Integer, Nombre:String, Apellido:String, Teléfono:Integer)} ◦Una instancia de la relación Persona ◦{(Cedula:112233, Nombre:Ana, Apellido: Corrales, Telefono: 6545544)} <- tupla

5 Modelo Relacional Propiedades ◦Cada atributo contiene exactamente un valor atómico. ◦Cada atributo tiene un nombre distinto dentro de la relación. ◦Los valores de un atributo pertenecen todos al mismo dominio. ◦Cada tupla es diferente, no hay tuplas duplicadas. ◦El orden de los atributos no importa ◦El orden de las tuplas no importa (teóricamente)

6 Modelo Relacional Modelo físico ◦Registros: dato de tipo estructurado, se diferencia de otros tipos de datos como vectores en que es una colección de datos iguales. typedef struct Persona { int cedula; String Nombre; string Apellido; Int teléfono; } Persona;

7 Modelo Relacional

8 ¿Qué pasa si se tiene un caso similar? CINombre 1Nombre2ApellidoApellido 2F NacTeléfonoDireccion 1234MaríaTeresaLopezNull 1596388Caracas.. 1456JoséNullPerezNull 25/07/1985 8944774Valencia.. 5689AndreaMilagrosEstangaPereira 28/05/1993 Null 34567JesusNullRamírezNull Caracas … ¿Qué pasa con los datos almacenados si se tienen 1M de registros y se desea modificar el esquema y agregar 2 campos adicionales?

9 En Facebook

10 Datos semiestructurados XML (Extensible Markup Language) ◦Es un lenguaje de intercambio de información estructurada desarrollado por la W3C,W3C ◦Tiene como objetivo ser un estándar entre diferentes plataformas, desde bases de datos, editores de texto, entre otros. Características ◦Diseñado para describir y llevar datos ◦Independiente del software y del hardware. ◦Muy usado para el intercambio de datos en servicios web

11 XML Estructura ◦XML expresa información estructurada de manera reutilizable. ◦Se compone de partes bien definidas que se componen a su vez de otras partes (estructuras anidadas), ◦Estas partes se llaman elementos y se señalan mediante etiquetas, ◦Una etiqueta es una marca hecha en el documento que señala una porción de este y se denotan con <>, ◦Se usan en pares de apertura y cierre y ◦Ejm: BD NoSQL.

12 XML Partes Opcional

13 XML Partes ◦Atributos: incorporan características o propiedades a los elementos, ◦Document Type Definition (DTD): Define los tipos de elementos, atributos y entidades permitidas, y puede expresar algunas limitaciones para combinarlos.

14 XML - DTD <!DOCTYPE personas [ ]>

15 http://www.json.org/xml.html 1-55655-767-6 Fundamentos de Bases de Datos Abraham Silberschatz silbers@hotmail.com Henry Korth korth@ hotmail.com McGraw-Hill Av. Santander s/n http://www.mcgrawhill.es 40 2003 James Smith 8 Es un libro de texto básico...

16 1234 Maria Teresa Lopez 1596388 caracas …….. 1456 Jose Perez 25/07/1985 8944774 34567 Jesus ramirez Caracas ……

17 XML - consultas Xquery { for $act in doc("hamlet.xml")//ACT let $speakers := distinct-values($act//SPEAKER) return { $act/TITLE/text() } { for $speaker in $speakers return { $speaker } } }

18 XML - consultas XPath ExpressionResult /libreria/libro[1]Selecciona el primer elemento libro hijo del elemento libreria /libreria/libro [last()]Selecciona el último elemento libro hijo del elemento libreria /libreria/libro[last()-1]Selecciona el penúltimo elemento libro hijo del elemento libreria /libreria/libro[position()<3]Selecciona los dos primeros elementos libros hijos del elemento libreria //title[@lang]Selecciona todos los elementos title que tengan un atributo llamado lang //title[@lang='es']Selecciona todos los elementos title que tengan un atributo llamado lang con un valor de "es" /libreria/libro[precio>35.00]Selecciona todos los libros del elemento libreria que tengan un elemento precio con un valor mayor a 35.00

19 Bases de datos XML Habilitadas: BDR que soportan XML ◦MySQL, PostgreSQL, Oracle, SQL Server, IBM DB2 Nativas NombreLicenciaLenguajeXQuery 3.0 XQuery Update XQuery Full Text Extensiones EXPath Extensions EXQuery BaseXLicencia BSDJava Sí eXistLicencia LGPLJava ParcialPropietarioProprietario Sí MarkLogic Server ComercialC++ ParcialProprietario No MonetDB/X Query Licencia MonetDB (tipo Mozilla) C ? ? ? ? ? plataforma 28msec Motor: Licencia Apache, Almacenamiento:Comer cialLicencia ApacheComer cial C++ Parcial 11 11 Sí SednaLicencia ApacheC++ No Sí No

20 http://www.json.org/xml.html Json Acronimo de Javascrpt Object Notation ◦Formato ligero para el intercambio de datos ◦Subconjunto de la notación de objetos de javascript ◦Ha ido sustituyendo a XML en entornos donde el tamaño del flujo de datos entre cliente-servidor es muy importante. ◦Mas fácil de analizar que XML eval() pero presenta problemas de seguridad. ◦Es común su uso en conjunto con XML.

21 Json Sintaxis ◦Objeto: Conjunto desordenado de pares nombre/valor ◦Arreglo: colección de valores http://www.json.org/json-es.html

22 Json Sintaxis ◦Valor ◦Cadena de caracteres

23 “Personas” : [ “persona” : { “ci”: 1234, “nombre1”: “Maria”, “nombre2”: “Teresa”, “apellido1”: Lopez",apellido1“, "telefono"1596388", "dirección”: “Caracas ……..“ }, “persona“: { "ci“:1456, "nombre1“: Jose “, "apellido1" : “Perez”, "fecha_nac”:25/07/1985“, "telefono“: 8944774, }, "persona“: { "ci”:34567, "nombre1“: “Jesus”,"apellido1”: “Ramirez“, "direccion“: “Caracas …… “ } ]

24 XML vs Json XMLJson SimplicidadSiMas que XML Entendible por humanosSiMas que XML AbiertoSi InteroperabilidadSi ProcesamientoFácil Soporte a tipos de datos complejos SI (imágenes, videos, etc)No Formato de intercambioMejor para intercambio de documentos Mejor para intercambio de datos Auto descritosSi (DTD)Si InternacionalizaciónUnicode

25 XML & Json ¿Qué pasa con los datos almacenados si se tienen 1M de elementos y se desea agregar 2 campos adicionales? ◦No hay necesidad de modificar los datos almacenados ◦No hay un esquema rígido que se pueda cambiar ◦Se modifican solamente los datos nuevos o al momento de actualizar los datos

26 Características de las BD NoSQL Sin esquema (squema less) Emplean una arquitectura de datos distribuida de no compartir (share nothing) con redundancia (replicación) Ofrecen garantías de consistencia débil (BASE) No hay un único modelo de datos. c/u posee su propia interfaz no estándar. Alto rendimiento e incremento del volumen de datos.

27 Taxonomia BD NoSQL Clave – valor Orientada a documento Familia de columnas Orientada a grafos

28 Clasificación

29

30 CaracterísticaClave – valorDocumentosFamilia de columnas Grafos Soporte esquema table- like No Si Actualización o búsqueda completa Si Actualización o búsqueda parcial Si No Consultas con filtrosNoSi AgregacionesNoSi (MR)SiNo Relaciones entre entidades No Si Búsquedas por lotesSi Actualización por lotesSi No

31 BD Engine – tendencia de uso

32 Arquitectura Sistema de Archivo Distribuido Arquitectura Share Nothing Capa de comunicación y distribución de datos Capa de Algoritmos Distribuidos que soporten ◦Consistencia eventual ◦Tolerancia a particiones ◦Disponibilidad Capa de Consulta y recuperación de fallos.

33 Arquitectura - Ejemplos

34 Siguientes clases Técnicas y algoritmos para ◦Consistencia ◦Tolerancia a particiones ◦Disponibilidad


Descargar ppt "Bd NoSQL Datos y Taxonomía PROFA. MERCY OSPINA"

Presentaciones similares


Anuncios Google