Arquitecturas de las BDD Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Post on 12-Mar-2015

6 views 2 download

Transcript of Arquitecturas de las BDD Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Arquitecturas de las BDD

Lic. Bárbara da Silva

Sistemas de Bases de Datos Distribuidas - UCV

Esquema de la Clase

• Arquitectura de las BDD• Transparencia• Niveles de Transparencia• ¿Quién debe proveer la transparencia?• Modelo de Referencia• Arquitectura ANSI/SPARC• Ejemplo de la Arquitectura ANSI/SPARC• Arquitectura de un SMBDD

Arquitectura de las BDD

La Arquitectura define la estructura de un sistema.

• Componentes• Funciones de los componentes• Interrelaciones entre los componentes

El propósito de establecer una arquitectura para un sistema de bases de datos distribuidas es ofrecer un nivel de transparencia adecuado para el manejo de la información.

Transparencia

El término transparente significa que la aplicación trabajaría, desde un punto de vista lógico, como si un solo Sistema Manejador de Bases de Datos (SMBD) ejecutado en una sola máquina, administrara esos datos.

La transparencia se puede entender como la separación de la semántica de alto nivel de un sistema de los aspectos de bajo nivel relacionados a la implementación del mismo.

Niveles de Transparencia

Datos

Independencia de Datos

Transparencia de Red

Transparencia de Replicación

Transparencia de Fragmentación

Transparencia del Lenguaje

Independencia de Datos

La independencia de datos es la inmunidad de las aplicaciones de usuario a los cambios en la definición y/u organización de los datos y viceversa.

Se puede dar en dos aspectos:

Independencia lógica de datos: Se refiere a la inmunidad de las aplicaciones de usuario a los cambios en la estructura lógica (cambios en la definición del esquema) de la base de datos.

Independencia física de datos: Se refiere al ocultamiento de los detalles sobre las estructuras de almacenamiento a las aplicaciones de usuario.

Transparencia de Red

La transparencia de red se refiere a que los datos en un SBDD se accedan sobre una red de computadoras sin que las aplicaciones noten su existencia.

La transparencia al nivel de red conlleva a dos cosas:

Transparencia sobre la localización de datos: El comando que se usa es independiente de la ubicación de los datos en la red y del lugar en donde la operación se lleve a cabo.

Transparencia sobre el esquema de nombramiento: Lo anterior se logra proporcionando un nombre único a cada objeto en el sistema distribuido.

Transparencia de Replicación

La transparencia sobre replicación de datos se refiere a que si existen réplicas de objetos de la base de datos, su existencia debe ser controlada por el SMBDD, no por el usuario.

Transparencia de Fragmentación

La transparencia a nivel de fragmentación de datos permite:

• El sistema maneje la conversión de consultas de usuario definidas sobre relaciones globales a consultas definidas sobre fragmentos.

• Las respuestas a consultas fragmentadas para obtener una sola respuesta a una consulta global.

Query GlobalQuery sobre Fragmentos

Query sobre Fragmentos

Query sobre Fragmentos

Transparencia del Lenguaje

Permite la transparencia de acceso por medio del DML (Lenguaje de Manipulación de Datos).

Forma en que el usuario accede a la data:• Lenguajes de Programación• Interfaces gráficas• Sistemas de voz• Otros.

¿Quién debe proveer la transparencia?

La responsabilidad sobre el manejo de transparencia debe estar compartida por:

•El sistema operativo•El sistema de manejo de bases de datos y •El lenguaje de acceso a la base de datos distribuida.

Modelo de Referencia

Para definir una arquitectura se sigue un modelo de referencia. A partir del modelo de referencia se puede llegar a una estandarización.

Un modelo de referencia “permite dividir el trabajo de estandarización en partes y mostrar como esas partes se relacionan unas con otras”.

Existen tres enfoques para describir un modelo de referencia:

• Componentes• Funciones• Datos -> ANSI/SPARC

Arquitectura ANSI/SPARC

La arquitectura ANSI/SPARC es un framework propuesto debido a la necesidad de estandarizar la arquitectura de los SMBD. Dicho framework se basa en la organización de la data.

Divide al sistema en tres vistas:

Externa -> Usuario

Conceptual -> Negocio

Interna -> Sistema ó Máquina

Arquitectura ANSI/SPARC

VistaInterna

VistaConceptual

VistaExterna

VistaExterna

VistaExterna

Usuarios

Esquema Externo

Esquema Conceptual

Esquema Interno

Ejemplo de Arquitectura ANSI/SPARC

Para los ejemplos:• Nos basamos en el modelo relacional.• La sintaxis no es parte de un lenguaje específico.• Las vistas externas serán descritas en SQL.

Ejemplo de Vista Conceptual:

Empleado (numEmpleado, nombre, cargo)Sueldo (titulo, salario)Proyecto (numProyecto, nombre, presupuesto)Asignación (numEmpleado, numProyecto, responsabilidad,

duración)

Ejemplo de Arquitectura ANSI/SPARC

Ejemplo de Vista Interna:

Rel_Interna Empleado ( INDEX ON E# CALL EMINXCAMPOS = { HEADER: BYTE(1)

E#: BYTE(9)ENOMBRE: BYTE(15)TIT: BYTE(10)

})

Ejemplo de Arquitectura ANSI/SPARC

Ejemplo de Vista Externa:

CREATE VIEW nomina ASSELECT Empleado.NumEmpleado, Empleado.Nombre, Sueldo.SalarioFROM Empleado, SueldoWHERE Empleado.Cargo = Sueldo.Cargo

CREATE VIEW presupuestos ASSELECT Proyecto.Nombre, presupuestoFROM Proyectos

Tarea

1. Características de distribución en los SMBD Comerciales

2. Tipos de Distribución en los SMBD Comerciales.

3. Transparencia en los SMBD comerciales.

4. Recuperar el nombre del proveedor de un producto. Se asume que:

• El número del producto es dado por el usuario. • Un producto es suplido por un solo proveedor.Escriba la consulta para cada uno de los niveles de transparencia

Arquitectura de un SMBDD

La arquitectura se puede especificar de acuerdo a:

• Autonomía: se refiere al grado de operación independiente de un SMBD. Se refiere a la distribución del control.

• Distribución: se refiere a la distribución de la data.

• Heterogeneidad: se refiere a las diferencias en cuanto a hardware, protocolos de red y SMBD (modelos de datos, lenguajes para realizar las consultas y el manejo de transacciones).

Arquitectura de un SMBDD

Los requerimientos que debe cumplir un sistema autónomo:

• Las operaciones locales no se ven afectadas por la participación en el sistema de multi base de datos.

• El procesamiento de querys local no afecta la ejecución de los querys globales.

• Se debe mantener la consistencia cuando los SMBD locales se unan para la multi base de datos.

Arquitectura de un SMBDD

Las dimensiones de la autonomía:

Autonomía en el Diseño -> modelo de datos y manejo de transacciones.

Autonomía de Comunicación -> información a proveer a otros SMBD.

Autonomía de Ejecución -> ejecución de las transacciones

Arquitectura de un SMBDD

Nombre Descripción

Autonomía

Integración Fuerte

A0

Uno de los nodos es el que controla las peticiones de los usuarios, incluso si la petición incluye

Semi-autónomo

A1

Cada SMBD determina que parte de su propia BD va a compartir. No es totalmente autónomo porque necesita modificar su esquema para compartir la data.

Aislamiento totalA2

SMBD que no saben de la existencia de otros DBMS ni cómo comunicarse entre sí.

DistribuciónCliente/Servidor

D1

Se diferencias los nodos como clientes (vista al usuario) o servidores (manejo de la data).

Peer to PeerD2

Todos los nodos tienen igualdad de funciones

Heterogeneidad

Homogéneos H0

HardwareRedSMBDHeterogéneos H

1

Arquitectura Cliente/Servidor

(Ax, D1, Hy)

Servidores -> procesamiento y optimizacion de querys, manejo de transacciones y almacenamiento de la data.

Clientes -> interfaz al usuario, manejo de data en cache y manejo de bloqueos de transacciones de la cache.

SO

User interface

SMBD Cliente

Software de Comunicación

SO

Software de Comunicación

SMBD Servidor

BD

Queries SQL Relación Resultado

Arquitectura Peer to Peer

(A0, D2, H0)

Esquema Interno Local: definición interna de los data en cada nodo.

Esquema Conceptual Global: modela la información contenida en una colección de BD.

Esquema Conceptual Local: organización lógica de la data local.

Esquema Externo: vista a los usuarios de los datos.

Arquitectura Peer to Peer

Esquema deFragmentación

EsquemaGlobal

VistaExterna

VistaExterna

Esquema deAsignación

Vista ConceptualLocal 1

Vista ConceptualLocal n

Vista InternaLocal 1

Vista InternaLocal n

Usuarios

Esquema Externo

EsquemaConceptual

Global

EsquemasConceptuales

Locales

EsquemasInternos Locales

Arquitectura Multi-Base de Datos

(A2, Dx, Hy)

La principal diferencia entre una arquitectura peer to peer (arquitectura de BDD) con una arquitectura de multi base de datos es la definición de un esquema global.

BDD -> El Esquema Conceptual Global define la vista conceptual de toda la BD.

Multi-BD -> El Esquema Conceptual Global representa la colección de BD locales que cada SMBD local quiera compartir.

Arquitectura Multi-Base de Datos

Arquitectura de Multi Bases de Datos con un Esquema Conceptual Global

VEG1 VEG2 VEG3

ECGVEL11 VEL12 VEL13 VELn1 VELn2 VELnm

ECL1 ECLn

EIL1 EILn

...

...

Arquitectura Multi-Base de Datos

Arquitectura de Multi Bases de Datos sin un Esquema Conceptual Global

VE1 VE2 VE3

ECL1 ECLn

EIL1 EILn

ECL2

EIL2

Capa de Multi BDCapa de Sistemas Locales

Arquitectura Multi-Base de Datos

BD Federadas

No usan un Esquema Conceptual Global sino que cada SMBD define un esquema export el cual indica cual es la data que va a compartir con los otros SMBD.

Cada aplicación que accede a la BD Federada define un esquema import (es como una vista externa global)

En Conclusión:BDD -> Existen verdaderos SMBDs cada uno manejando una BD diferenteMBD -> Provee una capa de software que corre sobre un SMBD individual que le provee al usuario acceder a varias BD.

Tarea

1. Relacionar los conceptos presentados con los SMBD Comerciales.

2. ¿En que arquitectura ubican los SMBD Comerciales?