1. EQUIPO #1
SISTEMA DE ADMINISTRACIÓN DE B.D.
DISTRIBUIDAS DE TRANSACCIONES CONTROL
DE RECURRENCIA.
Jesús Miguel Espinoza Jacobo - 1477474 - IAS
Luis Alberto Cantú García - 1480876 - IAS
William Gilberto Vargas Delgado - 1603039 - IAS
Luis Enrique Méndez Niño - 1686719 - IAS
Manuel Ángel González Piña - 1449811 - IAS
Jesús Pedro Almendarez Torres - 1804668 - IAS
Ramiro Azaed Reyes García - 1742063 - IAS
Humberto Daniel Salazar Caballero - 1624623 - IAS
Alexis Emilio Torres Castillo - 1816784 - IAS
Franco Alfredo Martínez Cepeda - 1689620 - IAS
2. ANTES DE EMPEZAR HABLEMOS UN POCO
DE HISTORIA DE LAS BASES DE DATOS
3. HISTORIA DE LA BASE DE DATOS
Antigüedad
En tiempos muy
remotos las
civilizaciones ya
almacenaban
información el ejemplo
mas claro son las
bibliotecas. En estas se
almacenaba gran
cantidad de datos
Este año se dio origen a
la maquina automática
de perforación de tarjetas
inventada por Herman
Hollerith la cual fue
utilizada para el censo de
los Estado Unidos
mejorando el proceso de
terminación de siete años
a solo dos años y medio.
1884
La creación de las cintas
magnéticas sus principios
se la atribuyen al inglés
Oberlin Smith, con este
mecanismo se empezó a
automatizar la
información referente a
nómina.
1950
4. Base de datos
informatizada se inició en
la década de 1960, cuando
el uso de las computadoras
se convirtió en una opción
más rentable para las
organizaciones privadas
1960
Edgar Codd publicó un importante
documento para proponer el uso de un
modelo de base de datos relacional, y sus
ideas cambiaron la forma de pensar en las
bases de datos. En su modelo, el esquema de
la base de datos, o la organización lógica, se
desconecta de almacenamiento de
información física, y esto se convirtió en el
principio de norma para los sistemas de
bases de datos.
1970
1976
Un modelo de base de datos
nueva llamada Entidad-
Relación, o ER. Este modelo
ha permitido a los
diseñadores centrarse en la
aplicación de los datos, en
lugar de estructura de la
tabla lógica.
5. Lenguaje de consulta
estructurado o SQL, se
convirtió en el lenguaje de
consulta estándar.
1980
Alrededor de este tiempo, las nuevas
herramientas de cliente para el desarrollo de
aplicaciones fueron liberadas, y éstos
incluyen el desarrollador de Oracle,
PowerBuilder, Visual Basic, etc. Una serie
de herramientas para la productividad
personal, como ODBC y Excel / Access,
también se desarrollaron.
1990
Siglo
XXI
Aunque la industria de Internet experimentó
un descenso en la década de 2000, las
aplicaciones de base de datos continuarán
creciendo.
En la actualidad, las tres empresas líderes de
base de datos en el mundo occidental son
Microsoft, IBM y Oracle
6. TERMINAMOS CON LA HISTORIA DE LAS BASES
DE DATOS, EMPEZAMOS CON LOS TEMAS
7. ¿QUE ES UNA BASE DE DATOS?
• Se llama base de datos, o también banco de datos, a un conjunto
de información perteneciente a un mismo contexto, ordenada de modo sistemático
para su posterior recuperación, análisis y/o transmisión de información.
8. TRANSACCIONES
Una transacción es una unidad de la
ejecución de un programa. Puede
consistir en varias operaciones de acceso
a la base de datos. Está delimitada por
constructoras como begin-transaction y
end-transaction.
9. CICLO DE VIDA DE UNA TRANSACCIÓN
• Activa: Durante su ejecución.
• Parcialmente comprometida: Después
de ejecutar la primera instrucción.
• Fallida: Imposible continuar su
ejecución normal.
• Abortada: Transacción retrocedida y
base de datos restaurada a su estado
anterior a la transacción (Rollback).
11. TRANSACCIONES ANIDADAS
• Es una transacción que se ejecuta
dentro de otra mientras se está
ejecutando la primera.
• Suelen contener una variable iterador.
12. CONTROL DE CONCURRENCIA
El control de concurrencias asegura que transacciones múltiples sometidas por
usuarios diferentes no interfieran unas con otras de forma que se produzcan
resultados incorrectos.
Existen diferentes técnicas para el control de concurrencias.
• Técnicas de Bloqueo (lock)
• Técnicas de Marcas de Tiempo (time-stamping)
• Técnicas Optimistas
13. BLOQUEOS
Transacción 1 Transacción 2
Espere…
En esta técnica el servidor intenta
bloquear cualquier objeto que vaya a
ser utilizado por cualquier operación
de la transacción.
Por ejemplo si un cliente solicita un
acceso a un objeto que ya este
bloqueado la solicitud es suspendida
y el cliente debe esperar hasta que el
objeto sea desbloqueado.
14. DEADLOCKS (BLOQUE MORTAL)
• El bloqueo mutuo (también conocido como interbloqueo, traba mortal, deadlock, abrazo mortal) es
un bloqueo permanente de un conjunto de procesos o hilos de ejecución en un sistema concurrente que
compite por recursos del sistema o bien se comunican entre ellos.
• Prevención de deadlocks: una forma aparentemente simple es bloquear todos los objetos utilizados
por unas transacción cuando esta comienza.
• Detección de deadlocks : A medida que se piden y conceden los lock se construye un grafo de las
transacciones que están esperando a otras. Si existe un ciclo en dicho grafo: deadlock. Hay que
proceder a abortar a alguna de las transacciones. Problema de livelock si se aborta siempre a la
misma.
15. MARCAS DE TIEMPO
• Cada transacción realizada se le
asigna un timestamp (sello de tiempo)
único en el nodo que se origino. este sello
se adjunta a cada petición de lectura
escritura. En el caso de que se dé un
conflicto de que dos operaciones de
escritura traten de acceder al mismo
elemento, este se resuelve serializándolo
respecto a los sellos que tengan.
22. EVOLUCIÓN DE SISTEMA DE BASE DE
DATOS DISTRIBUIDA
• Un sistema de administración de base de
datos distribuida (DDBMS) rige el
almacenamiento y procesamiento de datos
lógicamente relacionados a través de un
sistema de computadoras interconectadas,
donde tanto los datos como las funciones de
procesamiento se distribuyen entre varios
sitios.
23. • Durante los años 70, las corporaciones ejercieron
sistemas de administración de base de datos
centralizadas para satisfacer sus necesidades de
información estructuradas. La información estructurada
casi siempre se presenta como reportes formales
regularmente emitidos en un formato estándar.
• El uso de una base de datos centralizada requería que
los datos corporativos se guardaran en un solo sitio
central, por lo general una computadora mainframe o
minicomputadora. El método centralizado funcionaba
bien para satisfacer las necesidades de información
estructurada de las corporaciones, pero se quedaba
corto cuando los eventos siempre en movimiento
requerían tiempos de respuestas y acceso a la
información más rápidos.
24. • En los años 80 se dio lugar a una serie de cambios tecnológicos y sociales que afectaron el desarrollo y diseño de
las bases de datos, tales como:
Las operaciones de negocio se volvieron más geográficamente descentralizadas.
La competencia se incrementó a nivel global.
Las demandas de los clientes y las necesidades del mercado favorecieron el estilo de administración
descentralizado.
Los rápidos cambios tecnológicos crearon microcomputadoras de bajo costo con poder como de
mainframe. En consecuencia, un número cada vez mayor de corporaciones adoptaron las redes de área
local (LAN) como base para sus soluciones computarizadas. La elevación a la prominencia de las LAN
también se debió al costo creciente de las soluciones mainframe.
El gran número de aplicaciones basadas en DBMS y la necesidad de proteger las inversiones en software
de DBMS centralizado hicieron que la noción de compartir datos fuera atractiva.
25. • En los 90’s los factores anteriores se acumularon con mayor firmeza. Sin embargo, la manera en
la que fueron abordados se vio influenciado por:
La creciente aceptación del internet y en la red mundial (World Wide Web), como plataforma
para el acceso a la distribución de los datos. La WWW es realmente el depósito de datos
distribuidos.
El creciente enfoque en el análisis de los datos que condujo al manejo y almacenamiento de los
datos.
26. PROCESAMIENTO DISTRIBUIDO Y BASE DE
DATOS DISTRIBUIDAS
• El procesamiento distribuido comparte el
procesamiento lógico de una base de datos es compartido
entre dos o más sitios físicamente independientes que
estén conectados a través de una red.
• Un ambiente de procesamiento distribuido básico se
ilustra en la siguiente figura 12.2, donde se muestra que
un sistema de procesamiento distribuido comparte las
tareas de procesamiento de una base de datos entre tres
sitios conectados a través de una red de comunicaciones.
Aunque la base de datos resida sólo en un sitio, cada uno
de los sitios puede tener acceso a sus datos y actualizarla.
27. QUE ES UN
SISTEMA DE
BASE DE
DATOS
DISTRIBUIDAS
• Una base de datos distribuida o BDD consiste en varias
bases de datos situadas en diferentes espacios físicos o
lógicos, conectadas entre sí por un sistema de
comunicaciones.
• Las bases de datos distribuidas o Distributed Database
Management System (DDBMS) se caracterizan por
almacenar la información en varias computadoras
conectadas entre sí, a las cuáles el usuarios puede acceder
desde cualquier sitio como si se tratara de una red local.
• Una base de datos de una universidad en la que los
ordenadores de Facultades de distintas ciudades están
conectados.
28. DISTRIBUCIÓN
DE LOS DATOS
• La distribución de la información en estas bases de datos
se realiza por medio de transacciones distribuidas.
• Una transacción distribuida se define como aquella que
involucra a varios nodos de una red, a los que se puede
llamar agentes. Por tanto, este tipo de transacciones de
datos involucran a varios agentes.
• Para que se pueda dar una transacción de información en
una base de datos distribuida es necesario que los agentes
se comuniquen mediante mensajes de red, asegurando que
se respeta la atomicidad en el proceso. Para ello se
requiere lo siguiente:
29. • Un agente raíz o sitio de origen
de la transacción. Es el que
inicia la transacción de datos
cuando el usuario ejecuta una
aplicación.
• Este agente raíz es también el
encargado de garantizar las
propiedades de la transacción
distribuida, como BEGIN-
TRANSACTION, COMMIT O
ROLLBACK.
30. • Una base de datos distribuida (BDD) es un
conjunto de múltiples bases de datos lógicamente
relacionadas las cuales se encuentran
distribuidas en diferentes espacios lógicos y
geográficos (pej. un servidor corriendo 2
máquinas virtuales) e interconectados por una
red de comunicaciones.
• Dichas BDD tienen la capacidad de realizar
procesamientos autónomos, estos permiten
realizar operaciones locales o distribuidas.
31. COMPONENTES
• Hardware involucrado
El hardware utilizado no difiere mucho del hardware utilizado en un servidor
normal. Al principio se creía que si los componentes de una base de datos eran
especializados serían más eficientes y rápidos, pero se comprobó que el
descentralizar todo y adoptar un enfoque "nada compartido" (shared-nothing)
resultaba más barato y eficaz. Por lo que el hardware que compone una base de
datos distribuida se reduce a servidores y la red.
• Software
• SBDD
Este sistema está formado por las transacciones y los administradores de la
base de datos distribuidos. Un SBDD implica un conjunto de programas que
operan en diversas computadoras, estos podría consistir de una colección de
programas de diferentes fuentes.
32. • Administrador de transacciones distribuidas (DTM)
Este es un programa que recibe las solicitudes de procesamiento de los
programas de consulta o transacciones y las traduce en acciones para los
administradores de la base de datos. Los DTM se encargan de coordinar y
controlar estas acciones. Este DTM puede ser propietario o libre.
• Sistema manipulador de base de datos (DBMS)
Es un programa que procesa cierta porción de la base de datos distribuida.
Se encarga de recuperar y actualizar datos del usuario y generales de
acuerdo con los comandos recibidos de los DTM.
• Nodo
Un nodo es una computadora que ejecuta un DTM o un DBM o ambos. Un
nodo de transacción ejecuta un DTM y un nodo de base de datos ejecuta
un DBM.
33. NIVELES DE DISTRIBUCIÓN DE LOS DATOS
Y PROCESOS
• Centralizada
Es muy similar al modelo de Cliente/Servidor en el sentido que la BDD está
centralizada en un lugar y los usuarios están distribuidos. Este modelo solo
brinda la ventaja de tener el procesamiento distribuido ya que en sentido de
disponibilidad y fiabilidad de los datos no se gana nada.
• Replicadas
El esquema de BDD de replicación consiste en que cada nodo debe tener su
copia completa de la base de datos.
34. • Particionadas
Este modelo consiste en que solo hay una copia de cada elemento, pero la
información está distribuida a través de los nodos. En cada nodo se aloja uno
o más fragmentos disjuntos de la base de datos.
• Híbrida
Este esquema simplemente representa la combinación del esquema de
partición y replicación. Se particiona la relación y a la vez los fragmentos
están selectivamente replicados a través del sistema de BDD.
35. CARACTERÍSTICAS DE TRANSPARENCIA DE
BASE DE DATOS DISTRIBUIDA
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 con la
implementación del mismo.
Las características de transparencia del Sistema de Administración de Bases de
Datos Distribuida (DDBMS) tienen la propiedad común de permitir que el
usuario sienta que es el único que está utilizando la base de datos.
A continuación vamos a listar cada uno de estos niveles o características de
transparencia que tienen los DDBMS:
36. • Transparencia de distribución.
Permite manejar una base de datos físicamente dispersa como si fuera centralizada.
• Transparencia de transacción.
Permite que una transacción actualice datos en varios sitios de la red. Garantiza que la
transacción se realizará o completada en su totalidad o abortada, con lo cual se mantiene la
integridad de la base de datos.
• Transparencia de replicación.
Se refiere a que, si existen copias de objetos de la base de datos, su existencia debe ser
controlada por el sistema, y no por el usuario.
37. • Transparencia de falla.
Permite que el sistema continué operando en el caso de una falla de nodo. Las funciones que se
perdieron a causa de la falla serán recobradas por otro nodo de la red.
• Transparencia de desempeño.
Permite que cuando los objetos de la base de datos están fragmentados, el sistema maneja la
conversión de consultas de usuario definidas sobre relaciones globales a consultas definidas
sobre fragmentos.
• Transparencia de heterogeneidad.
Permite la integración de varios sistemas de administración de base de datos locales diferentes
(relacional, de red, jerárquicos, multimedia, etc.) conforme un esquema global común.
38. La transparencia de distribución es soportada por un diccionario de datos
distribuido(DDD) y un catalogo de datos distribuidos(DDC).
El DDC contienen la descripción de toda la base de datos tal como la ve un
administrador.
La descripción de base de datos conocida como esquema global distribuido, es el
esquema de base de datos común utilizado por procesadores de transacciones locales
Transparencia de Distribución
39. La transparencia de transacción es una propiedad del ODBMS que garantiza que las
transacciones de base de datos realizada por DDBMS, puede actualizar los datos
guardados en muchas computadoras diferentes conectadas en una red
A su ves también garantiza que la transacción será completada solo si todos los sitios
implicados en la transacción completan su parte de esta
Transparencia de
Transacción
44. En este modelo de informática distribuida, existe una comunicación entre la
aplicación cliente, que requiere la información, y el servidor de base de datos,
que se la proporciona. De esa forma, la aplicación cliente se especializa en lo
que conocemos como interface con el usuario y el servidor se dedica a las
tareas de gestión de la base de datos. Es básicamente un sistema biproceso.
45. El modelo de bases de datos distribuidas ofrece aún más. La diferencia
fundamental entre las dos arquitecturas es que, en las bases de datos
distribuidas, la información no tiene por que estar físicamente en un servidor
concreto -de hecho, puede estar en varios a la vez-. Sin embargo, el usuario
de la aplicación percibe la información como si estuviese almacenada en un
único lugar físico.
46. En una arquitectura cliente/servidor, nos encontramos habitualmente con
una serie de aplicaciones independientes o individuales, que se están
ejecutando en múltiples ordenadores. Las bases de datos residen en los
ordenadores conocidos como servidores, mientras que las aplicaciones se
ejecutan en lo que conocemos como ordenadores o estaciones de trabajo
cliente.
47. En el modelo cliente/servidor, un cliente interrumpirá la comunicación con su
servidor habitual y conectará con otros servidores cuando desee acceder a
otras bases de datos. En un entorno de bases de datos distribuidas, cuando se
realiza una petición de información (transacción SQL) a un servidor
determinado, éste involucrará a los servidores que sean necesarios para
satisfacer la petición del cliente.
48. LOS 12 MANDAMIENTOS DE C.J. DATE
PARA BASE DE DATOS DISTRIBUIDAS
1. Independencia del sitio local. Cada sitio local puede actuar como un sistema de
administración de base de datos (DBMS) independiente, autónomo y centralizado.
Cada sitio es responsable de la seguridad, el control de concurrencia, el respaldo y la
recuperación.
2. Independencia del sitio central. Ningún sitio en la red depende de un sitio central o de
cualquier otro sitio. Todos los sitios tienen las mismas capacidades.
3. Independencia de fallas. El sistema no se ve afectado por fallas de nodos. El sistema
continúa operando, incluso en el caso de una falla de nodo o de una expansión de la
red.
49. 4. Transparencia de ubicación. El usuario ve sólo una base de datos lógica. La
fragmentación de los datos es transparente para el usuario. El usuario no necesita
saber la ubicación de los datos para recuperarlos.
5. Transparencia de fragmentación. El usuario ve sólo una base de datos lógica. La
fragmentación de los datos es transparente para el usuario. El usuario no necesita
conocer el nombre de los fragmentos de la base de datos para recuperarlos.
6. Transparencia de replicación. El usuario ve sólo una base de datos lógica. El DDBMS
selecciona de una manera transparente el fragmento que va a acceder; además,
maneja todos los fragmentos transparentemente ante el usuario.
50. 7. Procesamiento de consulta distribuida. Una consulta distribuida puede
ser ejecutada en varios sitios diferentes de procesamiento de datos. La
optimación de las consultas es realizada transparentemente por el
usuario.
8. Procesamiento de transacciones distribuidas. Una transacción puede
actualizar datos en varios sitios diferentes. La transacción es
transparente ejecutada en varios sitios diferentes de procesamiento de
datos.
9. Independencia del hardware. El sistema debe funcionar en cualquier
plataforma de hardware.
51. 10. Independencia del sistema operativo. El sistema debe funcionar con
cualquier plataforma de software de sistema operativo.
11. Independencia de la red. El sistema debe funcionar con cualquier
plataforma de red.
12. Independencia de la base de datos. El sistema debe soportar cualquier
producto de base de datos provisto por cualquier proveedor.