Está en la página 1de 46

UA

Sesin 0: Arquitectura de Sistemas de


Bases de Datos
Bases de Datos
Avanzadas

Ivn Gonzlez Diego


Dept. Ciencias de la Computacin
Universidad de Alcal

INDICE
UA

Introduccin.
Recordatorio
Estructura de un SGBD
Sistemas Centralizados
Sistemas Cliente-Servidor
Sistemas paralelos
Sistemas distribuidos
Aplicaciones bases de datos

Referencias: Silberschatz 4 Ed. pp 445-461


Elmasri, 3 Ed. Pp 23-38, pp 537-551
2

Introduccin
UA

La arquitectura de un sistema de base de datos se encuentra


influenciada por el sistema informtico subyacente en el que se
ejecuta el sistema de base de datos.
En la arquitectura de un sistema de base de datos se reflejan
aspectos como la conexin en red, el paralelismo y la
distribucin.
En este captulo se estudian los sistemas de bases de datos,
comenzando por los sistemas centralizados, y pasando por los
sistemas cliente-servidor, paralelos y distribuidos.

Recordatorio
UA

Los sistemas de bases de datos se diferencian entre dos partes


fundamentales:
SERVIDOR:
No tiene necesariamente un front-end
Maneja los datos de la base de datos
CLIENTE:
Suele tener un front-end
Puede ser una aplicacin de acceso general a la base de datos
o una aplicacin propiamente dicha, con sus propios objetivos y
reglas de acceso a la informacin.

Utilizan: Modelos Esquemas Instancias


4

Recordatorio
UA

Modelos:
Es una coleccin de conceptos que sirven para describir la
estructura de una base de datos
Se utilizan para abstraer los datos que se van a insertar
Define la estructura de los datos y de la base de datos,
incluyendo tipos, vnculos, restricciones, etc.

Recordatorio
UA

Modelos:
Pueden ser de alto nivel o conceptuales, utilizados para definir el
problema y los datos a un nivel muy cercano al usuario final.
Pueden ser de bajo nivel o fsicos, utilizados para definir
directamente el problema sobre el ordenador.
Las operaciones bsicas de diseo de una base de datos incluyen:
Creacin de un diccionario de datos.
Creacin del modelo conceptual de datos (Modelo E/R
extendido)
Creacin del modelo lgico de datos (Modelo relacional)
mediante la adaptacin del ME/R con las reglas bsicas.
Creacin del modelo fsico de datos, donde se traducen los tipos
de datos y se establecen cuales sern las restricciones finales,
dependiendo del sistema gestor de base de datos.
Implementacin final, suele realizarse mediante una herramienta
CASE, que hace una traduccin directa del modelo fsico a
comando de la base de datos objetivo
LOS ERRORES SE ARRASTRAN !!!!
6

Recordatorio
UA

Esquemas:
Las bases de datos son: Estructura + Datos
La estructura se denomina Esquema.
El esquema se especifica en la fase de diseo de la base de datos y
NO DEBE SER ALTERADO durante la vida de la base de datos.
El esquema se altera por:
Evolucin de la base de datos:
Posible error en la captura de requisitos.
Evolucin de la vida (Inevitable).
Errores en el diseo de la base de datos:
Posibles prdidas de datos o de semntica (prdidas de
informacin, prdidas de dependencias funcionales)
Funcionalidades imposibles de proporcionar.

Recordatorio
UA

Esquemas:
Los esquemas suelen estar representados en modo de
diagramas (p.e. Diagrama E/R o relacional de una base de
datos)
Los diagramas por s mismos no son suficientes para definir
el esquema total de la base de datos, y muestran menos o
ms informacin dependiendo del nivel del modelo que se
utilice

Recordatorio
UA

Instancias:
Tambin se las conoce como ocurrencias, estado de la base
de datos o instantneas
Una instancia es un conjunto de datos que almacena una
base de datos en un momento determinado.
El back-up sera una instancia de un sistema.
El sistema evoluciona en el tiempo, por lo que el nmero de
instancias est limitado al nmero de cambios que se
produzcan en el sistema.
Virtualmente el nmero de instancias puede ser infinito.

Recordatorio
UA

Instancias:
Cuando se crea una base de datos, slo se est definiendo
su esquema, ya que no tiene datos, por lo que se dice que
tiene un estado vaco o instancia vaca.
Cuando se cargan los datos iniciales (tablas con datos
maestros) Estado inicial o instancia inicial.
Los estados pueden ser infinitos debido a la evolucin del
sistema, pero eso no significa que puedan darse todas las
combinaciones de datos.
El SGBD (Sistema Gestor de Base de Datos) se encarga de
que slo se puedan cumplir una serie de estados instancias
vlidos dependiendo de las reglas del esquema
proporcionado
Si las reglas son errneas Base de Datos contendr
estados o instancias errneas (por fallos en el diseo)
10

Recordatorio
UA

Instancias:
La validacin de las instancias se lleva a cabo mediante el
esquema, almacenndose en una seccin especial de la
base de datos.
Esta seccin se llama Meta-Base de Datos, o Base de
Datos del Sistema, o Catlogo del Sistema.
Acta como catlogo del sistema, permitiendo al SGBD saber
que reglas debe aplicar.
A estos meta-datos Intensin de la Base de Datos
Instancia determinada Extensin del esquema de la Base
de Datos

11

Recordatorio
UA

Arquitectura de tres niveles: Abstraccin de Datos

12

Recordatorio
UA

Arquitectura de tres niveles :


Nivel de Vistas:
Utilizado por los usuarios.
Cada usuario grupo de usuarios, tiene su vista propia.
Nivel conceptual:
Define el esquema global de la base de datos, incluyendo
los esquemas necesario para crear las vistas.
Nivel interno:
Define la estructura fsica de almacenamiento de datos.
Depende del modelo que se vaya a utilizar a la hora de
implementar la base de datos y est ligado al SBGD.
13

Recordatorio
UA

Independencia de datos:
Las bases de datos se disean en tres niveles para permitir la
independencia de los datos.
Ejemplo prctico:
Si tengo un diseo con los pasos anteriores (Diccionario
de Datos, conceptual E/R, lgico relacional, fsico Oracle)
y deseo cambiar de Oracle a SQL Server, si el diseo es
correcto:
no cambiar: modelo conceptual, modelo lgico
Cambiar: modelo fsico, regenerndole para cumplir
las reglas y peculiaridades de mi nuevo SGBD.

14

Recordatorio
UA

Independencia de datos:
La independencia lgica de datos es por tanto la capacidad
de modificar el esquema conceptual sin tener que alterar los
esquemas externos ni los programas de aplicacin.
La independencia fsica de datos es la capacidad de
modificar el esquema interno sin tener que alterar el esquema
conceptual.

15

Recordatorio
UA

Lenguajes de un SGBD
Un SGBD programarlo para introducir nuestro esquema
LDD: Lenguaje de definicin de datos. Se puede dividir en:
LDA: Lenguaje de definicin de Almacenamiento,
utilizado slo para crear el esquema.
LDV: Lenguaje de definicin de vistas.
LMD: Lenguaje de manipulacin de datos, utilizado para
realizar las operaciones normales de la base de datos.

16

Recordatorio
UA

Lenguajes de un SGBD
LMD
De Alto Nivel o no procedimental:
Tpico lenguaje de consulta orientado a conjuntos.
Qu obtener pero no cmo obtenerlo.
Son declarativos.
De Bajo Nivel o procedimental:
Trabajan registro a registro.
Estn integrados en un lenguaje de programacin de
propsito general.
SI las instrucciones LMD estn embebidas en un lenguaje de
propsito general Lenguaje anfitrin.
Los LMD utilizados de forma independiente se les llama
lenguajes de consulta.

17

Estructura de un SGBD a nivel interno


UA

18

Estructura de un SGBD a nivel interno


UA

Gestor de Almacenamiento
Interface entre los datos y programas de alto nivel y consultas
Responsable : almacenamiento, recuperacin y actualizacin de la
base de datos.
Componentes:
Gestor autorizacin e integridad.
Gestor de transacciones.
Gestor de archivos
Gestor de memoria intermedia.

Procesador de consultas

Intrprete del LDD.


Compilador del LMD.
Optimizador de consultas.
Motor de evaluacin de consultas.

19

Herramientas
UA

Carga de Datos de ficheros existentes.


Herramientas de conversin.
Copia de Seguridad (Back-up)
Reorganizacin de ficheros.
Control del rendimiento para la supervisin de la base de datos.
Compresin de datos.
Sistema de comunicaciones
20

El Catlogo de un SGBD relacional


UA

Almacena el esquema de la base de datos

Nombre de las relaciones.


Nombre de atributos.
Dominios.
Restricciones:
Claves primarias
Claves candidatas
Claves extranjeras
Valores NULL/NOT NULL
Vistas
Estructura de almacenamiento
ndices
Informacin de seguridad Usuarios y Permisos
En sistemas avanzados tambin almacena:
Funciones de usuario.
Operadores
Estadsticas para la gestin del SGBD.
Disparadores (triggers)

21

El Catlogo de un SGBD relacional


UA

Ejemplo de relacin de catlogo bsica para describir esquemas


de relacin.

22

El Catlogo de un SGBD relacional


UA

Para un acceso de usuario mediante herramienta administrativa:

23

Sistemas centralizados
UA

El sistema de la Base de Datos se ejecuta en un nico sistema


informtico, sin interactuar con ningn otro sistema.
Estos sistemas abarcan a los tpicos equipos monopuesto, y a los
sistemas multipuesto, donde la base de datos est centralizada
en el sistema principal
No suele ofrecer soluciones excesivamente avanzadas en la
gestin de la base de datos.

24

Sistemas centralizados
UA

25

Sistemas Cliente-Servidor
UA

Muy extendidos en la actualidad


La base de datos se sita en un ordenador, el cul realiza toda la
gestin y almacenamiento de datos. Es el servidor.
Los ordenadores de menos potencia hacen consultas sobre los
datos del servidor proporcionando una interface amigable de
acceso a datos al usuario, descargando de esta tarea al servidor.
Son los clientes.
Sistema cliente-servidor tpico: Servidores de pginas Web con
conexin a base de datos.

26

Sistemas Cliente-Servidor
UA

27

Sistemas Cliente-Servidor
UA

28

Sistemas Cliente-Servidor
UA

Varios tipos de servidores:


Servidor de Transacciones:
tambin llamados servidores de consultas.
Proporcionan una interface a travs de la cul consultan a la base
de datos.
Se pueden usar con SQL o interface de aplicacin especializada o
protocolos como ODBC o JDBC
Servidor de datos
Permiten a los clientes interactuar con los servidores
Realizando peticiones de lectura o modificacin de datos en
unidades tales como archivos pginas.
29

Servidor de Transacciones
UA

30

Servidor de Datos
UA

No son necesariamente servidores de bases de datos relacionales


Pueden ser servidores de archivos, directorios, objetos, etc.
Tienen comunicacin directa con los clientes, de forma que el
cliente debe tener todas las funcionalidades del sistema
subyacente
Caractersticas:
Envo de pginas elementos: Coste de comunicacin.
Bloqueo: Gestionado por el servidor. El bloqueo de una pgina afecta
a todo lo que est en ella.
Cach de Datos: Agiliza el envo de datos muy comunes.
Cach de bloqueos: Similar al anterior.
31

Sistemas paralelos
UA

Utilizan varias CPU y discos en paralelo para optimizar el


rendimiento.
Dependiendo del tipo de paralelismo:
Paralelismo de grano grueso:
varios computadores independientes Alto Coste de
comunicacin.
Paralelismo de grano fino:
varios computadores integrados Coste de comunicacin bajos

Rendimiento:
Productividad : n de tareas completadas en un intervalo de tiempo.
Tiempo de respuesta : tiempo en completar una tarea.

32

Ganancia de velocidad
UA

Hay que tener en cuenta que se trabaja con recursos


dependientes entre s.
Lo deseable son recursos independientes que permitan la
ganancia de velocidad lineal.
Lo real son ganancias de velocidad sublineales, que tienen a
estabilizarse o incluso degradarse segn qu sistemas se utilicen.

33

Ganancia de ampliabilidad
UA

Es la capacidad de procesar tareas ms largas en el mismo tiempo


mediante un incremento de los recursos.

34

Ganancia de ampliabilidad
UA

Existen dos tipos:

Ampliabilidad por lotes o procesos:


Aumenta el tamao de la base de datos y las tareas son trabajos ms
largos, cuyos tiempos de ejecucin dependen del tamao de la base de
datos (ejemplo un recorrido secuencial)
El problema es el tamao

Ampliabilidad de transacciones:
Aumenta la velocidad a la que se envan las peticiones a la base de datos
y el tamao crece proporcionalmente a la tasa de transacciones (ejemplo:
reserva de butacas de cine Ms butacas, ms reservas)
Se adapta muy bien a la ejecucin paralela, ya que las transacciones se
ejecutan de forma concurrente
Las transacciones duran lo mismo paralelismo lineal

35

Problemas del paralelismo


UA

Costes de inicio
El inicio de un nico proceso lleva asociado un coste de inicio. En una
operacin paralela compuesta por miles de procesos, el tiempo de
inicio puede ser mayor que el de procesamiento.

Interferencia
Problemas en el acceso a recursos compartidos bloqueos

Sesgo
Al dividir una tarea en un cierto nmero de pasos paralelos se reduce
el tamao del paso medio, pero el tiempo para completar la tarea
viene dado por el tiempo de completar el paso ms lento.
Dado que rara vez se puede dividir una tarea en pasos iguales, es
difcil que se consiga un aumento de rendimiento lineal.
36

UA

Redes de interconexin de arquitecturas


paralelas
Bus

Todos los componentes del sistema pueden enviar o recibir datos de un nico bus de
comunicaciones.
El bus slo puede gestionar la comunicacin
en un momento dado: cuello de botella.

Malla

Los componentes se organizan como nodos de una retcula


Cada componente est conectado con los adyacentes.
Se utiliza el paso de mensajes.

Hipercubo

Sistema de conexin n-dimensional


Basado en representacin binaria de sus componentes
Sistema de altas prestaciones y ms eficiente
que el de malla.

37

Arquitectura paralelas de bases de datos


UA

Memoria compartida
Todos los procesadores comparten
la misma memoria y los discos.

Disco compartido
Todos los procesadores comparten uno varios discos.
Cada procesador tiene su propia memoria

38

Arquitectura paralelas de bases de datos


UA

Sin compartimiento

Los procesadores no comparten memoria o disco

Jerrquico o en cluster
Es un hbrido de los anteriores.
Utiliza NUMA (Non Uniform Memory Architecture)

39

Sistemas Distribuidos
UA

En un sistema de bases de datos distribuido, la informacin se


almacena en varios ordenadores
Dichos ordenadores estn conectado entre s por redes de
comunicacin.

40

Sistemas Distribuidos
UA

Cmo distribuir la informacin


Se deben seguir razonamientos lgicos al respecto:
Utilizacin
Dispersin geogrfica de los ordenadores
Redes de comunicacin
La potencia, etc

Pueden realizar transacciones locales globales, dependiendo de


si tienen que acceder slo a sus datos a los datos almacenados
en la base de datos distribuida.

41

Sistemas Distribuidos
UA

Compartimiento de datos
Los datos de un emplazamiento pueden ser accedidos por otro
usuario de otro emplazamiento en cualquier momento.

Autonoma
Cada emplazamiento tiene un cierto grado de control sobre los datos
que tiene almacenados.

Disponibilidad
Si uno de los emplazamientos de la base de datos distribuida falla, el
resto de emplazamientos pueden seguir funcionando.

42

Sistemas Distribuidos
UA

Sobre los sistemas relacionales, existen varias formas de hacerlos


distribuidos
Replicacin: Se replican todos los datos de los emplazamientos
elegidos.
Fragmentacin Vertical: Dada una tabla, se parte en distintas
columnas, cada una de las cuales se asignan a un emplazamiento.
Fragmentacin Horizontal: Dada una tabla, segn un atributo o
conjunto de atributos, se seleccionan una serie de tuplas, las cuales
sern enviadas a cada uno de los emplazamientos del sistema.
Fragmentacin Mixta: Similar a la creacin de retculos de datos.
Mixto: Replicacin + Fragmentacin.
43

Sistemas Distribuidos
UA

Problemas
Mayor coste de desarrollo de software, al tener que reunir una serie
de caractersticas especiales.
Mayor probabilidad de errores: como los emplazamientos operan en
paralelo, es ms difcil asegurar la correccin de los algoritmos.
Mayor sobrecarga de procesamiento: El intercambio de mensajes y el
cmputo adicional necesario para conseguir la coordinacin entre los
distintos emplazamientos constituye una forma especial de
sobrecarga.

44

Redes de Comunicacin utilizadas


UA

En la interconexin de los sistemas distribuidos y cliente-servidor,


se utilizan redes de comunicacin entre ordenadores.
LAN: Local Area Network, son redes de pequeo tamao (< 2 Km)
y de bajo coste, utilizadas en edificios. Arquitecturas de bus o paso
de testigo.
MAN: Metropolitan Area Network, redes de fibra, de tamao
inferior a 10-20 Km, se utilizan para unir sistintas sucursales de
una entidad, son las ms utilizadas en sistemas distribuidos de
alto rendimiento.
WAN: Wide Are Network, redes globales que abarcan grandes
reas. Suelen basarse en esquemas punto a punto, con routers y
gateways para dar acceso a las mismas. No suelen tener conexin
directa.
45

Clasificacin Sistemas de Bases de Datos


UA

Por Modelo de Datos: relacional, objeto-relacional, jerrquico, red


Por el n de usuarios: monousuario, multiusuario.
N de sitios en los que est dividido: centralizado, distribuido
Campo de aplicacin:
Propsito general.
Propsito especfico : reserva de billetes de lneas areas (OLTP)

Coste: gratuitos o previo pago.

46

También podría gustarte