2. ARQUITECTURA DE BASES DE DATOS
La arquitectura de un sistema de base de datos está
influenciada por el sistema informático que soporta la
instalación del SGBD, lo que reflejará muchas de las
características propias del sistema subyacente en el SGBD.
Comprende el análisis de la cadena de valor, el modelado de
datos, la arquitectura de datos relacionales; se puede
integrar ésta de forma exitosa en el conjunto de la
estrategia corporativa, siempre bajo las directrices que
establece Data Governance.
3. ESQUEMAS Y NIVELES
La arquitectura de sistemas de bases de datos de tres
esquemas fue aprobado por la ANSI-SPARC
(American National Standard Institute - Standards
Planning and Requirements Committee) en 1975
como ayuda para conseguir la separación entre los
programas de aplicación y los datos, el manejo de
múltiples vistas por parte de los usuarios y el uso de
un catálogo para almacenar el esquema de la base de
datos.
4. ESQUEMAS Y NIVELES
Nivel externo:
Es el nivel de mayor abstracción. A este nivel
corresponden las diferentes vistas parciales que
tienen de la base de datos los diferentes usuarios.
En cierto modo, es la parte del modelo conceptual a
la que tienen acceso.
5. ESQUEMAS Y NIVELES
Nivel conceptual:
Es el nivel medio de abstracción. Se trata de la
representación de los datos realizada por la
organización, que recoge las vistas parciales de los
requerimientos de los diferentes usuarios y las
aplicaciones posibles. Se configura como visión
organizativa total, e incluye la definición de datos y
las relaciones entre ellos.
6. ESQUEMAS Y NIVELES
Nivel interno:
Es el nivel más bajo de abstracción, y define cómo
se almacenan los datos en el soporte físico, así
como los métodos de acceso.
11. Sistemas Centralizados
• En un sistema de base de datos centralizado, todos los componentes del
sistema residen en un solo computador o sitio.
• Los componentes consisten en los datos, el software del SGBD y los
dispositivos de almacenamiento secundario asociados, como discos para el
almacenamiento en línea de la base de datos centralizada a través de
terminarles conectadas al sitio.
13. Sistemas Cliente - Servidor
• La arquitectura cliente-servidor se creo para manejar los nuevos entornos de
cómputo en los que un gran número de computadoras personales,
estaciones de trabajo, servidores de archivos e impresoras y otros equipos
están interconectados a través de una red.
• La idea es definir servidores especializados con funciones específicas.
14. Arquitectura cliente - servidor
BD
OSnet
AP1
AP2
OSnet
AP2
AP3
OSnet
AP2
OSnet
DBMS OSdm
Red
Usuario 1
Usuario 2
Usuario n Osnet= porción de comunicaciones de red
del SO
Oddm= porción de administración de datos
del SO
15. Motor SQL
Interfaz de
usuario
SQL
Interfaz
(SQL + API)
Sistemas Cliente/Servidor
Funcionalidades de la parte visible al
usuario y del sistema subyacente
Interfaz de
formularios
Diseñador
de
Informes
Interfaz
gráfica
Parte visible
al usuario
Sistema
subyacente
16. Existen dos arquitecturas básicas:
De dos niveles, en los que:
La lógica de la Presentación está en el Cliente.
La lógica de los Datos y del negocio está en el Servidor.
De tres niveles, que implica servicios de gestión
de transacciones complejas, y donde:
La lógica de la Presentación está en el Cliente.
La lógica de los Datos está en el Servidor de Datos
La lógica del Negocio está en el Servidor de
Aplicaciones.
Sistemas Cliente/Servidor
17. Sistema Distribuido de Base de
Datos
Red de Comunicaciones
Sitio 1
Sitio 2
Sitio 3
Sitio 4
Sitio 5
18. En un sistema distribuido la base de datos se
almacena en varias computadoras.
Varios medios de comunicación, como redes
de alta velocidad o líneas telefónicas, ponen
en contacto a las distintas computadoras.
No comparten memoria ni discos.
Las computadoras pueden variar en tamaño
y función.
Sistemas Distribuidos
19. Un conjunto de localizaciones o sitios
conectados entre si mediante algún tipo de
red de comunicaciones, en el cual:
Cada sitio es un sistema de base de datos
en sí mismo.
Los sitios han convenido en trabajar juntos
(si es necesario) como si los datos
estuvieran almacenados localmente en el
propio sitio del usuario.
Sistemas Distribuidos
21. Sistemas Distribuidos
•Principio fundamental: Desde el punto de vista del usuario, un
sistema distribuido deberá ser idéntico a un sistema no distribuido.
• Permite que cada sitio almacene y mantenga su propia BD.
• Puede mejorar la fiabilidad; esto es, si falla un sitio el resto de la red puede
seguir funcionando.
• Permite el control local de los datos que se usan con mas frecuencia en un
sitio.
22. Características
Los distintos emplazamientos están informados sobre los
demás.
Aunque algunas tablas pueden estar almacenadas sólo
en algunos emplazamientos, éstos comparten un
esquema global común.
Cada emplazamiento proporciona un entorno para la
ejecución de transacciones tanto globales como locales.
En general, en cada emplazamiento se ejecuta el mismo
software de gestión de BD distribuidas.
23. Ventajas
Compartimiento de Datos
Los usuarios de un emplazamiento pueden acceder a los
datos que residen en otros emplazamientos.
Autonomía.
Cada emplazamiento conserva un cierto grado de control
sobre los datos almacenados localmente. Cada administrador
local de BD puede tener una autonomía local diferente,
dependiendo del diseño del sistema distribuido de BD.
Mejora del rendimiento para procesamientos
locales
La base de datos se fragmenta en bases de datos más
pequeñas, manteniendo los datos cerca de donde más se
necesitan
Las consultas y transacciones locales tienen mejor
rendimiento debido al tamaño de la BD
24. Ventajas
Fiabilidad y Disponibilidad
La fiabilidad se refiere a la probabilidad de que el sistema
esté operativo en cualquier momento dado.
La disponibilidad consiste en la probabilidad de que el sistema
esté disponible continuamente durante un determinado
período de tiempo
Si falla un emplazamiento, los restantes pueden continuar
funcionando.
Si se duplican los elementos de datos acertadamente en
varios emplazamientos, una transacción que requiera un
determinado elemento puede obtenerlo de cualquiera de
dichas copias.
Así, el fallo de un emplazamiento no implica necesariamente
el cierre del sistema.
25. Inconvenientes
Costo de desarrollo del software.
La implementación de un sistema distribuido de BD es más
difícil, y por tanto más costoso.
Mayor probabilidad de errores.
Como los emplazamientos operan en paralelo, es mas difícil
asegurarse de la corrección de los algoritmos, del
funcionamiento especial durante los fallos de parte del
sistema, así como de la recuperación.
Mayor sobrecarga de procesamiento
Debido al intercambio de mensajes y el cómputo adicional
para la coordinación entre los emplazamientos.
26. Almacenamiento Distribuido de
Datos
Fragmentación
Significa dividir una relación en fragmentos
para propósito de almacenamiento. Mejora el
desempeño.
• Fragmentación Horizontal: Consiste en la
partición de una tabla en subconjuntos de filas.
Fragmentación Vertical: Consiste en particionar
una tabla por la proyección del subconjunto de sus
atributos.
•
27. Fragmentación Horizontal
NUM
EMP
NUM
DEPTO
SALARIO
E1 DX 45K
E2 DY 40K
E3 DZ 50K
E4 DY 63K
E5 DZ 40K
NUM
EMP
NUM
DEPTO
SALARIO
E1
E3
E5
DX
DZ
DZ
45K
50K
40K
NUM
EMP
NUM
DEPTO
SALARIO
E4
E2
DY
DY
63K
40K
Almacenamiento físico en Tokyo Almacenamiento físico en Lima
Percepción del
usuario
Fragmento en
Lima
Fragmento en
Tokyo
28. Réplica
Ocurre si el sistema mantiene copias de una tabla X en diferentes
sitios para que la data tenga mas disponibilidad.
Los usuarios deberán poder comportarse como si solo hubiera una
copia de los datos (Independencia de Réplica).
Permite la creación y eliminación dinámica de réplicas en
respuesta a cambios en los requerimientos, sin afectar los
programas o actividades de los usuarios.
Ventajas
Si una de las estaciones que contiene la tabla X falla, la tabla puede
recuperarse de otro sitio
Si la mayoría de los accesos a la tabla X sólo involucran una consulta
a la tabla, entonces varios sitios pueden estar solicitando datos de X
en forma concurrente. Mientras mas copias haya de X será menor el
tráfico de la red.
Almacenamiento Distribuido de
Datos
29. NUM
EMP
NUM
DEPTO
SALARIO
E4 DY 63K
E2 DY 40K
Réplica
NUM
EMP
NUM
DEPTO
SALARIO
E1 DX 45K
E2 DY 40K
E3 DZ 50K
E4 DY 63K
E5 DZ 40K
Fragmento
de Lima
Fragmento
de Tokyo
Réplica del
fragmento
de Lima
Réplica del
fragmento
de Tokyo
Percepción del Usuario
Almacenamiento físico en
Tokyo
Almacenamiento físico en
Lima
NUM
EMP
NUM
DEPTO
SALARIO
E1 DX 45K
E3 DZ 50K
E5 DZ 40K
NUM
EMP
NUM
DEPTO
SALARIO
E1 DX 45K
E3 DZ 50K
E5 DZ 40K
NUM
EMP
NUM
DEPTO
SALARIO
E4
E2
DY
DY
63K
40K
30. Mínimo Coste:
De almacenamiento de cada fragmento en el nodo
correspondiente
De modificar un fragmento que está replicado en
distintos nodos
De trasferencia de datos en la red
Rendimiento:
Minimizar tiempos de respuesta
Maximizar capacidad de procesamiento en cada
nodo
Esquema de Asignación y
Replicación: objetivos
31. Funciones Adicionales de los
SGBDD
Mantenimiento de la pista de los datos
Expandiendo el catálogo de la BD para seguir la pista de la
distribución de los datos, la fragmentación y la réplica
Gestión de Transacciones Distribuidas
Determinar estrategias de ejecución de consultas y
transacciones que acceden a datos de más de una
localización, sincronizar el acceso a dichos datos y mantener
la integridad
Gestión de datos replicados
Decidir a qué copia de los datos acceder y mantener la
consistencia entre dichas copias
Recuperación de la base de datos distribuida
La capacidad de recuperarse de caídas de sitios individuales y
de fallos de los enlaces de comunicación
32. Funciones Adicionales de los
SGBDD
Seguridad
Controlar la seguridad y privilegios de acceso de los
usuarios de las transacciones distribuidas
Gestión del directorio (catálogo) distribuido
Información de dónde y cómo se almacenan los
datos, el modo de acceso y características físicas.
Alternativas: catálogo centralizado, replicado
completamente, dividido, combinación de
centralizado y dividido.
33. Procesamiento Distribuido de
Consultas
Consideraciones:
El número de accesos a disco
El costo de la trasmisión de datos por la red
(número y volumen de mensajes)
La ganancia potencial en rendimiento respecto de
hacer que varios emplazamientos procesen en
paralelo parte de la consulta
“Buscar todas las tuplas de la tabla Cuenta”
Si replicada, si fragmentada, si replicada y
fragmentada.
34. Procesamiento Distribuido de
Transacciones
Agente: proceso ejecutado a nombre de una
determinada transacción en un determinado
sitio.
Control de concurrencia: No se permite bloqueo
mutuo entre dos agentes que sean parte de una
misma transacción.
Control de recuperación: Todos los agentes de la
misma transacción se comprometen (Commit) o
abortan (Rollback) simultáneamente.
35. Manejar múltiples copias de los datos:
Debe mantenerse la consistencia entre las copias: El control
de concurrencia debe asegurar que cada copia sea consistente
con todas las demás, aún cuando el sitio en el que reside falla
y se recupera posteriormente
Fallo de sitios individuales:
El sistema debe continuar operando con sus sitios activos, si
es posible, cuando fallen sitios individuales.
Cuando el sitio que falló se recupera, su BD local debe
sincronizarse con las demás antes de reincorporarse al
sistema.
Control de Concurrencia y
Recuperación en BDD
36. Confirmación (commit) distribuida:
Podría haber problemas al confirmar una
transacción distribuida si alguno de los sitios
involucrados falla durante la confirmación
Bloqueo mortal distribuido:
Podría ocurrir bloqueo mortal (interbloqueo) entre
varios sitios, por lo que deben extenderse las
técnicas para su tratamiento para considerar esta
situación
Control de Concurrencia y
Recuperación en BDD
37.
Control de Concurrencia por
• Se designa una de las copias de cada elemento de datos como copia
distinguida
• Todos los bloqueos se asocian a la copia distinguida, y todas las
solicitudes de bloqueo y desbloqueo se envían al sitio que contiene esa co
“Copia Distinguida”
38. Técnicas de elección de copia distinguida:
Sitio primario:
Se designa un sitio como coordinador para todos
los elementos de la base de datos. Los bloqueos
son hechos en este sitio.
Control de Concurrencia por
“Copia Distinguida”
39. Técnicas de elección de copia distinguida:
Sitio primario con sitio de respaldo
Se designa un segundo sitio como de respaldo, y los
bloqueos se mantienen en ambos sitios
Control de Concurrencia por
“Copia Distinguida”
40. Técnicas de elección de copia distinguida:
Copia primaria
Se mantienen las copias distinguidas de los elementos de
datos almacenadas en diferentes sitios.
Se puede combinar con sitios de respaldo
Control de Concurrencia por
“Copia Distinguida”
A
B
A
B
A B
41. Recuperación en BDD
El sistema debe ser capaz de detectar un fallo en uno
de los emplazamientos, de modo que pueda decidir si
es necesaria alguna acción de recuperación.
El sistema debe dejar de utilizar los servicios del
emplazamiento con falla.
Deben existir mecanismos para reintegrar fácilmente
en el sistema al emplazamiento que falló, cuando se
haya recuperado.
42. Tipos de BD Distribuidas
AP1
AP2
DBMS/OS
Y
Z
X
W
AP1
DBMS/OS
AP2
DBMS/OS
Y
Z
X
W
BD1
BD2
Línea de
comunicación
Dividida no
Duplicada
No
Distribuida
43. Tipos de BD Distribuidas
AP2
DBMS/OS
BD (copia 1)
BD (copia 2)
Línea de
comunicación No Dividida
y Duplicada
AP2
DBMS/OS
AP1
AP1
Y
Z
W
X
Z
Y
X
W
44. Tipos de BD Distribuidas
BD1
BD2
Línea de
comunicación
Dividida y
Duplicada
W
X
Y
Z
Y
AP1
DBMS/OS
AP2
DBMS/OS
45. Clases de SGBDD
Heterogeneidad
Distribución
SGDB
integrados,
heterogéneos
SGDB
heterogéneo y
distribuido
Múltiples SGDB
homogéneos, lógicamente
integrados
homogéneo y
distribuido
SGDB federado,
homogéneo y
distribuido
Sistema
multibase,
homogéneo y
distribuido
SGDB federado, SGDB
heterogéneo y
distribuido
SGDB federado,
heterogéneo en
una sede
SGDB federado,
homogéneo en
una sede
Sistema multibase,
heterogéneo
Autonomía
Sistema multibase,
homogéneo
Sistema multibase,
heterogéneo y
distribuido
46. Arquitectura para SGBDD
Esquema Externo
Global 1
Esquema Externo
Global 2
Esquema Externo
Global n
Esquema Conceptual
Global
Esquema Conceptual
BD Local n
Esquema Interno
BD Local n
Esquema Conceptual
BD Local 1
Esquema Interno
BD Local 1
Esquema
Externo
Local 11
Esquema
Externo
Local 1h
Esquema
Externo
Local n1
Esquema
Externo
Local nm
47. Arquitectura de los SGBD
Multibase
Esquema
Externo 1
Esquema
Externo 2
Esquema
Externo n
Esquema
Conceptual
BD Local 1
Esquema
Conceptual
BD Local n
Esquema Interno
BD Local n
Esquema Interno
BD Local 1
Esquema
Conceptual
BD Local 2
Esquema Interno
BD Local 2