SlideShare una empresa de Scribd logo
1 de 5
BASE DE DATOS DISTRIBUIDAS

Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos
lógicamente relacionadas las cuales se encuentran distribuidas entre diferentes sitios
interconectados por una red de comunicaciones, los cuales tienen la capacidad de
procesamiento autónomo lo cual indica que puede realizar operaciones locales o
distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el
cual múltiples sitios de bases de datos están ligados por un sistema de
comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los
datos en cualquier parte de la red exactamente como si los datos estuvieran siendo
accedidos de forma local.

En un sistema distribuido de bases de datos se almacenan en varias computadoras.
Los principales factores que distinguen un SBDD de un sistema centralizado son los
siguientes:

   •   Hay múltiples computadores, llamados sitios o nodos.
   •   Estos sitios deben de estar comunicados por medio de algún tipo de red de
       comunicaciones para transmitir datos y órdenes entre los

Inicio de las bases de datos distribuidas

Originalmente se almacenaba la información de manera centralizada, pero con el paso
del tiempo las necesidades aumentaron y esto produjo ciertos inconvenientes que no
era posible solucionarlos o volverlos eficientes de la forma centralizada. Estos
problemas impulsaron la creación de almacenamiento distribuido, los cuales hoy en
día proveen características indispensables en el manejo de información; es decir, la
combinación de las redes de comunicación y las bases de datos.

Evolución

Hay varios factores que han hecho que las bases de datos evolucionen a bases de
datos distribuidas. En el mundo de los negocios se ha dado una globalización y a la
vez las operaciones de las empresas son cada vez más descentralizadas
geográficamente. También el poder de las computadoras personales aumentó y el
costo de los Mainframes ya no tenía sentido. Además la necesidad de compartir datos
ha hecho que crezca el mercado de las bases de datos distribuidas.

Calenda rizador distribuido

El calenda rizador está encargado de ordenar un conjunto de transacciones u
operaciones que se deseen realizar sobre una base de datos. Cualquier orden en el
que se decidan hacer este conjunto de operaciones se denomina calendarización.
Parte del trabajo del calendarizados es realizar estas operaciones de forma que sean
serializables y recuperables.

Dos calendarizaciones son serializables (o equivalentes) si



   •   Cada operación de lectura lee valores de los datos que son producidos por la
       misma operación de escritura en ambas calendarizaciones (es decir son
       iguales)
•   La operación final de escritura en cada elemento de la data es la misma en
       ambas calendarizaciones

Detección de bloqueos y Concurrencia

Un bloqueo en general es cuando una acción que debe ser realizada está esperando a
un evento. Para manejar los bloqueos hay distintos acercamientos: prevención,
detección, y recuperación. También es necesario considerar factores como que hay
sistemas en los que permitir un bloqueo es inaceptable y catastrófico, y sistemas en
los que la detección del bloqueo es demasiado.

En el caso específico de las bases de datos distribuidas usar bloqueo de recursos,
peticiones para probar, establecer o liberar bloqueos requiere mensajes entre los
manejadores de transacciones y el calenda rizador. Para esto existen dos formas
básicas:

Podemos definir que dos operaciones entran en conflicto que debe ser resuelto si
ambas acceden a la misma data, y una de ellas es de escritura y si fueron realizadas
por transacciones distintas.

Concurrencia

El ejemplo más común de un bloqueo mutuo es cuando un recurso A está siendo
utilizado por una transacción A que a su vez solicita un recurso B que está siendo
utilizado por una transacción B que solicita el recurso A. Entre los ejemplos específicos
para las bases de datos distribuidas podemos destacar:

Soluciones

El control de concurrencia y detección y manejo de bloqueos es un área de mucho
estudio en las bases de datos distribuidas, a pesar de esto no hay ningún algoritmo
aceptado para solucionar el problema. Esto se debe a varios factores de los cuales se
consideran a los siguientes tres los más determinantes:

Para el control de bloqueos mutuos no se ha desarrollado ninguna solución viable y la
forma más simple y que la mayoría de productos utilizan es la implementación de un
tiempo máximo de espera en las peticiones de bloqueos.

Causa de estas dificultades más de 20 algoritmos de control de concurrencia se han
propuesto en el pasado, y aun así siguen apareciendo nuevos. Una revisión
bibliográfica muestra que la mayoría de los algoritmos son variantes del 2PL (2-phase
locking o bloqueo de dos fases) o el algoritmo de time-stamp. A continuación se
explican estos dos algoritmos básicos.

Bloqueo de dos fases

El algoritmo 2PL utiliza bloqueos de lectura y escritura para prevenir conflictos entre
operaciones. Consiste en los siguientes pasos para una transacción T:

Las reglas básicas para manejar los bloqueos son: transacciones distintas no pueden
tener acceso simultáneamente a un elemento (lectura-escritura o escritura-escritura), y
una vez se libere un bloqueo no se puede pedir otro, es decir, los bloqueos de la
transacción crecerán mientras no libere ninguno y luego de liberar alguno solo puede
liberar los demás.

Ejemplos del algoritmo 2PL son

Antes de implementar un algoritmo de control de concurrencia 2PL es necesario
considerar distintos factores como cual es la unidad atómica más pequeña que el
sistema permite bloquear, cual es el intervalo de sincronización para todas las copias
de un elemento, donde se deben colocar las tablas con la información de los bloqueos
y por último que tan probable es que ocurra por los factores anteriores un bloqueo
mutuo.

Time-stamp

Cada transacción realizada se le asigna un timestamp (literalmente: sello de tiempo)
único en el nodo que se originó. Este sello se adjunta a cada petición de lectura y
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 serializandolo respecto a los
sellos que tengan. A pesar de que existen varios algoritmos de control de concurrencia
basados en timestamps, muy pocos son utilizados en aplicaciones comerciales. Esto
es en gran parte porque se requiere que el sistema distribuido cuente con un reloj
sincronizado que es raro que se tenga implementado.] Manejador de transacciones
distribuido (DTM)

Definición de transacciones

Una transacción es una secuencia de una o más operaciones agrupadas como una
unidad. El inicio y el final de la transacción definen los puntos de consistencia de la
base de datos. Si una acción de la transacción no se puede ejecutar, entonces
ninguna acción dentro de la secuencia que conforma la transacción tendrá efecto.

Una transacción puede clasificarse de diferentes maneras dependiendo básicamente
de tres criterios:

Función del manejador

El manejador de transacciones es el encargado de definir la estructura de las
transacciones, mantener la consistencia en la base de datos cuando se ejecuta una
transacción o se cancela la ejecución de una, mantener protocolos de fiabilidad,
implementar algoritmos para el control de la concurrencia y sincronizar las
transacciones que se ejecutan simultáneamente.

El manejador recibe solicitudes de procesamiento de transacciones y las traduce en
acciones para el calenda rizador.

La operación COMMIT señala el término exitoso de la transacción: le dice al
manejador de transacciones que se ha finalizado con éxito una unidad lógica de
trabajo, que la base de datos esta (o debería estar) de nuevo en un estado
consistente, y que se pueden hacer permanentes todas las modificaciones efectuadas
por esa unidad de trabajo.

La operación ROLLBACK, en cambio, señala e término no exitoso de la transacción: le
dice al manejador de transacciones que algo salió mal, que la base de datos podría
estar en un estado inconsistente y que todas las modificaciones efectuadas hasta el
momento por la unidad lógica de trabajo deben retroceder o anularse.

Distribución de los datos

Una de las decisiones más importantes que el diseñador de bases de datos
distribuidas debe tomar es el posicionamiento de la data en el sistema y el esquema
bajo el cuál lo desea hacer. Para esto existen cuatro alternativas principales:
centralizada, replicada, fragmentada, e híbrida. La forma 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. Es fácil ver que este esquema tiene un alto costo en el
almacenamiento de la información. Debido a que la actualización de los datos debe
ser realizada en todas las copias, también tiene un alto costo de escritura, pero todo
esto vale la pena si tenemos un sistema en el que se va a escribir pocas veces y leer
muchas, y dónde la disponibilidad y fiabilidad de los datos sea de máxima importancia.

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. Como los fragmentos no se replican esto
disminuye el costo de almacenamiento, pero también sacrifica la disponibilidad y
fiabilidad de los datos. Algo que se debe tomar en cuenta cuando se desea
implementar este modelo es la granularidad de la fragmentación. La fragmentación se
puede realizar también de tres formas:

Una ventaja significativa de este esquema es que las consultas (SQL) también se
fragmentan por lo que su procesamiento es en paralelo y más eficiente, pero también
se sacrifica con casos especiales como usar JUNTAR o PRODUCTO, en general
casos que involucren varios fragmentos de la BDD.

Para que una fragmentación sea correcta esta debe cumplir con las siguientes reglas:

Este esquema simplemente representa la combinación del esquema de partición y
replicación. Se partición la relación y a la vez los fragmentos están selectivamente
replicados a través del sistema de BDD.

Seguridad

Desde hace ya varios años las bases de datos son ampliamente utilizadas en
departamentos de gobiernos, empresas comerciales, bancos, hospitales, etc.
Actualmente se está cambiando el esquema bajo el cuál se utilizan las bases de datos,
ya no son utilizadas únicamente de forma interna, sino que se tiene muchos accesos
externos de tipos distintos. Estos cambios que se han introducido en el uso de las
bases de datos ha creado la necesidad mejorar las prácticas de seguridad ya que el
ambiente ya no es tan controlado como el esquema antiguo.
Conceptos

Los problemas de mayor importancia en seguridad son autenticación, identificación,
y refuerzo de los controles de acceso apropiados. El sistema de seguridad de
niveles múltiples. Éste consiste en muchos usuarios con distintos niveles de permisos
para una misma base de datos con información de distintos niveles. En las bases de
datos distribuidas se han investigado dos acercamientos a este modelo: data
distribuida y control centralizado, y data y control distribuidos.

En el acercamiento de data distribuida y control centralizado se divide en dos
soluciones: particionado y replicado. En el primero de estos lo que se tiene es un
conjunto de nodos y cada uno de ellos opera a cierto nivel de seguridad, así el usuario
con nivel de permisos X accede al servidor que maneja la data para X. El replicado
surgió debido a que si alguien con altos derechos de seguridad deseaba consultar
data con de bajo nivel de seguridad debía enviar su petición a un servidor de bajo nivel
de seguridad por lo cual se podría divulgar información sensible. En el esquema
replicado entonces la data se repite en cascada de tal forma que el nivel más alto tiene
una copia entera de la base de datos, y el más bajo solamente la información de más
bajo nivel. El otro acercamiento de data y control distribuido cada nodo contiene
información de distintos niveles y está diseñado para aceptar peticiones de cualquier
nivel de usuario.

El problema de inferencia

El problema de inferencia consiste en usuarios tratando de ejecutar consultas sobre la
BD y estos infiriendo información sobre la respuesta legítima que la base de datos
debe responder. Las herramientas para minería de datos hacen este problema aún
más peligroso ya que hacen que sea más fácil para cualquier novato poder deducir
patrones e información importantes de simplemente probar consultas.

Más contenido relacionado

La actualidad más candente

Sistema manejador de_base_de_datos
Sistema manejador de_base_de_datosSistema manejador de_base_de_datos
Sistema manejador de_base_de_datosAmado Lopez Aguilar
 
Bases de datos distribuidas y bases de datos cliente
Bases de datos distribuidas y bases de datos clienteBases de datos distribuidas y bases de datos cliente
Bases de datos distribuidas y bases de datos clienteGerardo
 
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)Bases de Datos (ACID, Reglas de Codd e Integridad de datos)
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)Walter Herrera
 
Base de datos distribuida
Base de datos distribuidaBase de datos distribuida
Base de datos distribuidaJulio Lovera
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidasMax Perez
 
Bases De Datos Paralelas
Bases De Datos ParalelasBases De Datos Paralelas
Bases De Datos Paralelaspineda2
 
Sistema GestióN De Bases De Datos
Sistema GestióN De Bases De DatosSistema GestióN De Bases De Datos
Sistema GestióN De Bases De Datoshugofern
 
Tecnologia Base Datos Implementacion Interna
Tecnologia Base Datos Implementacion InternaTecnologia Base Datos Implementacion Interna
Tecnologia Base Datos Implementacion InternaGuillermo Soler
 
Arquitectura de Sistemas de Bases de datos
Arquitectura de Sistemas de Bases de datosArquitectura de Sistemas de Bases de datos
Arquitectura de Sistemas de Bases de datosnegriz
 
Base De Datos Distribuidas
Base De Datos DistribuidasBase De Datos Distribuidas
Base De Datos DistribuidasJorge Guerra
 

La actualidad más candente (18)

Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
Sistema manejador de_base_de_datos
Sistema manejador de_base_de_datosSistema manejador de_base_de_datos
Sistema manejador de_base_de_datos
 
Bases de datos distribuidas y bases de datos cliente
Bases de datos distribuidas y bases de datos clienteBases de datos distribuidas y bases de datos cliente
Bases de datos distribuidas y bases de datos cliente
 
Sgbd
SgbdSgbd
Sgbd
 
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)Bases de Datos (ACID, Reglas de Codd e Integridad de datos)
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)
 
Base de datos distribuida
Base de datos distribuidaBase de datos distribuida
Base de datos distribuida
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
 
Bases De Datos Paralelas
Bases De Datos ParalelasBases De Datos Paralelas
Bases De Datos Paralelas
 
Basededatosconceptosbasicos
BasededatosconceptosbasicosBasededatosconceptosbasicos
Basededatosconceptosbasicos
 
Sistema GestióN De Bases De Datos
Sistema GestióN De Bases De DatosSistema GestióN De Bases De Datos
Sistema GestióN De Bases De Datos
 
Expo sbdd
Expo sbddExpo sbdd
Expo sbdd
 
Tecnologia Base Datos Implementacion Interna
Tecnologia Base Datos Implementacion InternaTecnologia Base Datos Implementacion Interna
Tecnologia Base Datos Implementacion Interna
 
Arquitectura de Sistemas de Bases de datos
Arquitectura de Sistemas de Bases de datosArquitectura de Sistemas de Bases de datos
Arquitectura de Sistemas de Bases de datos
 
Arquitectura de base de datos
Arquitectura de base de datosArquitectura de base de datos
Arquitectura de base de datos
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Clase03
Clase03Clase03
Clase03
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Base De Datos Distribuidas
Base De Datos DistribuidasBase De Datos Distribuidas
Base De Datos Distribuidas
 

Destacado

Base de Datos Distribuida
Base de Datos DistribuidaBase de Datos Distribuida
Base de Datos DistribuidaLaura Hdz M
 
Actividad 1.2 cuestionario sobre SGBD
Actividad 1.2 cuestionario sobre SGBDActividad 1.2 cuestionario sobre SGBD
Actividad 1.2 cuestionario sobre SGBDIsabel Gómez
 
Manual de conexión de base de datos distribuida
Manual  de conexión de base de datos distribuidaManual  de conexión de base de datos distribuida
Manual de conexión de base de datos distribuidaJorch Mendez
 
Unidad1 Bases De Datos Distribuidas
Unidad1 Bases De Datos DistribuidasUnidad1 Bases De Datos Distribuidas
Unidad1 Bases De Datos DistribuidasDeysi Hdz
 

Destacado (7)

Presentacion basededatos
Presentacion basededatosPresentacion basededatos
Presentacion basededatos
 
TAREA 5
TAREA 5TAREA 5
TAREA 5
 
Base de Datos Distribuida
Base de Datos DistribuidaBase de Datos Distribuida
Base de Datos Distribuida
 
Actividad 1.2 cuestionario sobre SGBD
Actividad 1.2 cuestionario sobre SGBDActividad 1.2 cuestionario sobre SGBD
Actividad 1.2 cuestionario sobre SGBD
 
Manual de conexión de base de datos distribuida
Manual  de conexión de base de datos distribuidaManual  de conexión de base de datos distribuida
Manual de conexión de base de datos distribuida
 
Unidad1 Bases De Datos Distribuidas
Unidad1 Bases De Datos DistribuidasUnidad1 Bases De Datos Distribuidas
Unidad1 Bases De Datos Distribuidas
 
BASE DE DATOS DISTRIBUIDAS
BASE DE DATOS DISTRIBUIDASBASE DE DATOS DISTRIBUIDAS
BASE DE DATOS DISTRIBUIDAS
 

Similar a Base de datos distribuidas

Tecnologías modernas de base de datos
Tecnologías modernas de base de datosTecnologías modernas de base de datos
Tecnologías modernas de base de datosI.E.B.E.M.
 
Final presentacionactualizada
Final presentacionactualizadaFinal presentacionactualizada
Final presentacionactualizadatsnacho
 
Capítulo 25 (Base de datos distribuidas y arquitectura cliente-servidor)
Capítulo 25 (Base de datos distribuidas y arquitectura cliente-servidor)Capítulo 25 (Base de datos distribuidas y arquitectura cliente-servidor)
Capítulo 25 (Base de datos distribuidas y arquitectura cliente-servidor)Liz Ocampo
 
Análisis comparativo de bases de datos
Análisis comparativo  de bases de datosAnálisis comparativo  de bases de datos
Análisis comparativo de bases de datosJorge Mengelle
 
Bases de datos Distribuidas
Bases de datos DistribuidasBases de datos Distribuidas
Bases de datos DistribuidasPatricia Flores
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos DistribuidosNelson Guanipa
 
Gestion de base de datos
Gestion de base de datosGestion de base de datos
Gestion de base de datosjuanmanuel_29
 
Funciones del aministrador
Funciones del aministradorFunciones del aministrador
Funciones del aministradorsergio
 
BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencialiras loca
 
Diseño de aplicaciones
Diseño de aplicacionesDiseño de aplicaciones
Diseño de aplicacionesUTN
 
Qué es un sgbd
Qué es un sgbdQué es un sgbd
Qué es un sgbdEIYSC
 

Similar a Base de datos distribuidas (20)

Tecnologías modernas de base de datos
Tecnologías modernas de base de datosTecnologías modernas de base de datos
Tecnologías modernas de base de datos
 
Final presentacionactualizada
Final presentacionactualizadaFinal presentacionactualizada
Final presentacionactualizada
 
Capítulo 25 (Base de datos distribuidas y arquitectura cliente-servidor)
Capítulo 25 (Base de datos distribuidas y arquitectura cliente-servidor)Capítulo 25 (Base de datos distribuidas y arquitectura cliente-servidor)
Capítulo 25 (Base de datos distribuidas y arquitectura cliente-servidor)
 
Análisis comparativo de bases de datos
Análisis comparativo  de bases de datosAnálisis comparativo  de bases de datos
Análisis comparativo de bases de datos
 
Arquitecturas centralizadas
Arquitecturas centralizadasArquitecturas centralizadas
Arquitecturas centralizadas
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
 
Bases de datos Distribuidas
Bases de datos DistribuidasBases de datos Distribuidas
Bases de datos Distribuidas
 
Resumen de conceptos_final
Resumen de conceptos_finalResumen de conceptos_final
Resumen de conceptos_final
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Gestion de base de datos
Gestion de base de datosGestion de base de datos
Gestion de base de datos
 
Funciones del aministrador
Funciones del aministradorFunciones del aministrador
Funciones del aministrador
 
ATOMICIDAD
ATOMICIDADATOMICIDAD
ATOMICIDAD
 
trabajo 5
trabajo 5trabajo 5
trabajo 5
 
BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencia
 
Arquitectura centralizada
Arquitectura centralizadaArquitectura centralizada
Arquitectura centralizada
 
Ddbms
DdbmsDdbms
Ddbms
 
Diseño de aplicaciones
Diseño de aplicacionesDiseño de aplicaciones
Diseño de aplicaciones
 
Qué es un sgbd
Qué es un sgbdQué es un sgbd
Qué es un sgbd
 

Más de Victor

Software contable
Software contableSoftware contable
Software contableVictor
 
Teleinformatica
TeleinformaticaTeleinformatica
TeleinformaticaVictor
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidasVictor
 
Franklin gomez
Franklin gomezFranklin gomez
Franklin gomezVictor
 
Tenemaza guillermo
Tenemaza guillermoTenemaza guillermo
Tenemaza guillermoVictor
 
Tenemaza guillermo
Tenemaza guillermoTenemaza guillermo
Tenemaza guillermoVictor
 
Presentacion
PresentacionPresentacion
PresentacionVictor
 
Tenemaza guillermo
Tenemaza guillermoTenemaza guillermo
Tenemaza guillermoVictor
 
Tenemaza guillermo
Tenemaza guillermoTenemaza guillermo
Tenemaza guillermoVictor
 
Bases de la teleinformática
Bases de la teleinformáticaBases de la teleinformática
Bases de la teleinformáticaVictor
 
Base de datos
Base de datosBase de datos
Base de datosVictor
 
Organizacion de empresas
Organizacion de empresasOrganizacion de empresas
Organizacion de empresasVictor
 
Base de datos
Base de datosBase de datos
Base de datosVictor
 
Proyecto
ProyectoProyecto
ProyectoVictor
 
Definitivo estadistica mora guevara
Definitivo estadistica mora   guevaraDefinitivo estadistica mora   guevara
Definitivo estadistica mora guevaraVictor
 
Expo estad
Expo estadExpo estad
Expo estadVictor
 
Expo estad
Expo estadExpo estad
Expo estadVictor
 
Presentacion
PresentacionPresentacion
PresentacionVictor
 
Expo estad
Expo estadExpo estad
Expo estadVictor
 

Más de Victor (20)

Software contable
Software contableSoftware contable
Software contable
 
Teleinformatica
TeleinformaticaTeleinformatica
Teleinformatica
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Franklin gomez
Franklin gomezFranklin gomez
Franklin gomez
 
Tenemaza guillermo
Tenemaza guillermoTenemaza guillermo
Tenemaza guillermo
 
Tenemaza guillermo
Tenemaza guillermoTenemaza guillermo
Tenemaza guillermo
 
Presentacion
PresentacionPresentacion
Presentacion
 
Tenemaza guillermo
Tenemaza guillermoTenemaza guillermo
Tenemaza guillermo
 
Tenemaza guillermo
Tenemaza guillermoTenemaza guillermo
Tenemaza guillermo
 
Bases de la teleinformática
Bases de la teleinformáticaBases de la teleinformática
Bases de la teleinformática
 
Base de datos
Base de datosBase de datos
Base de datos
 
Organizacion de empresas
Organizacion de empresasOrganizacion de empresas
Organizacion de empresas
 
Base de datos
Base de datosBase de datos
Base de datos
 
D&j
D&jD&j
D&j
 
Proyecto
ProyectoProyecto
Proyecto
 
Definitivo estadistica mora guevara
Definitivo estadistica mora   guevaraDefinitivo estadistica mora   guevara
Definitivo estadistica mora guevara
 
Expo estad
Expo estadExpo estad
Expo estad
 
Expo estad
Expo estadExpo estad
Expo estad
 
Presentacion
PresentacionPresentacion
Presentacion
 
Expo estad
Expo estadExpo estad
Expo estad
 

Base de datos distribuidas

  • 1. BASE DE DATOS DISTRIBUIDAS Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas entre diferentes sitios interconectados por una red de comunicaciones, los cuales tienen la capacidad de procesamiento autónomo lo cual indica que puede realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si los datos estuvieran siendo accedidos de forma local. En un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes: • Hay múltiples computadores, llamados sitios o nodos. • Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones para transmitir datos y órdenes entre los Inicio de las bases de datos distribuidas Originalmente se almacenaba la información de manera centralizada, pero con el paso del tiempo las necesidades aumentaron y esto produjo ciertos inconvenientes que no era posible solucionarlos o volverlos eficientes de la forma centralizada. Estos problemas impulsaron la creación de almacenamiento distribuido, los cuales hoy en día proveen características indispensables en el manejo de información; es decir, la combinación de las redes de comunicación y las bases de datos. Evolución Hay varios factores que han hecho que las bases de datos evolucionen a bases de datos distribuidas. En el mundo de los negocios se ha dado una globalización y a la vez las operaciones de las empresas son cada vez más descentralizadas geográficamente. También el poder de las computadoras personales aumentó y el costo de los Mainframes ya no tenía sentido. Además la necesidad de compartir datos ha hecho que crezca el mercado de las bases de datos distribuidas. Calenda rizador distribuido El calenda rizador está encargado de ordenar un conjunto de transacciones u operaciones que se deseen realizar sobre una base de datos. Cualquier orden en el que se decidan hacer este conjunto de operaciones se denomina calendarización. Parte del trabajo del calendarizados es realizar estas operaciones de forma que sean serializables y recuperables. Dos calendarizaciones son serializables (o equivalentes) si • Cada operación de lectura lee valores de los datos que son producidos por la misma operación de escritura en ambas calendarizaciones (es decir son iguales)
  • 2. La operación final de escritura en cada elemento de la data es la misma en ambas calendarizaciones Detección de bloqueos y Concurrencia Un bloqueo en general es cuando una acción que debe ser realizada está esperando a un evento. Para manejar los bloqueos hay distintos acercamientos: prevención, detección, y recuperación. También es necesario considerar factores como que hay sistemas en los que permitir un bloqueo es inaceptable y catastrófico, y sistemas en los que la detección del bloqueo es demasiado. En el caso específico de las bases de datos distribuidas usar bloqueo de recursos, peticiones para probar, establecer o liberar bloqueos requiere mensajes entre los manejadores de transacciones y el calenda rizador. Para esto existen dos formas básicas: Podemos definir que dos operaciones entran en conflicto que debe ser resuelto si ambas acceden a la misma data, y una de ellas es de escritura y si fueron realizadas por transacciones distintas. Concurrencia El ejemplo más común de un bloqueo mutuo es cuando un recurso A está siendo utilizado por una transacción A que a su vez solicita un recurso B que está siendo utilizado por una transacción B que solicita el recurso A. Entre los ejemplos específicos para las bases de datos distribuidas podemos destacar: Soluciones El control de concurrencia y detección y manejo de bloqueos es un área de mucho estudio en las bases de datos distribuidas, a pesar de esto no hay ningún algoritmo aceptado para solucionar el problema. Esto se debe a varios factores de los cuales se consideran a los siguientes tres los más determinantes: Para el control de bloqueos mutuos no se ha desarrollado ninguna solución viable y la forma más simple y que la mayoría de productos utilizan es la implementación de un tiempo máximo de espera en las peticiones de bloqueos. Causa de estas dificultades más de 20 algoritmos de control de concurrencia se han propuesto en el pasado, y aun así siguen apareciendo nuevos. Una revisión bibliográfica muestra que la mayoría de los algoritmos son variantes del 2PL (2-phase locking o bloqueo de dos fases) o el algoritmo de time-stamp. A continuación se explican estos dos algoritmos básicos. Bloqueo de dos fases El algoritmo 2PL utiliza bloqueos de lectura y escritura para prevenir conflictos entre operaciones. Consiste en los siguientes pasos para una transacción T: Las reglas básicas para manejar los bloqueos son: transacciones distintas no pueden tener acceso simultáneamente a un elemento (lectura-escritura o escritura-escritura), y una vez se libere un bloqueo no se puede pedir otro, es decir, los bloqueos de la
  • 3. transacción crecerán mientras no libere ninguno y luego de liberar alguno solo puede liberar los demás. Ejemplos del algoritmo 2PL son Antes de implementar un algoritmo de control de concurrencia 2PL es necesario considerar distintos factores como cual es la unidad atómica más pequeña que el sistema permite bloquear, cual es el intervalo de sincronización para todas las copias de un elemento, donde se deben colocar las tablas con la información de los bloqueos y por último que tan probable es que ocurra por los factores anteriores un bloqueo mutuo. Time-stamp Cada transacción realizada se le asigna un timestamp (literalmente: sello de tiempo) único en el nodo que se originó. Este sello se adjunta a cada petición de lectura y 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 serializandolo respecto a los sellos que tengan. A pesar de que existen varios algoritmos de control de concurrencia basados en timestamps, muy pocos son utilizados en aplicaciones comerciales. Esto es en gran parte porque se requiere que el sistema distribuido cuente con un reloj sincronizado que es raro que se tenga implementado.] Manejador de transacciones distribuido (DTM) Definición de transacciones Una transacción es una secuencia de una o más operaciones agrupadas como una unidad. El inicio y el final de la transacción definen los puntos de consistencia de la base de datos. Si una acción de la transacción no se puede ejecutar, entonces ninguna acción dentro de la secuencia que conforma la transacción tendrá efecto. Una transacción puede clasificarse de diferentes maneras dependiendo básicamente de tres criterios: Función del manejador El manejador de transacciones es el encargado de definir la estructura de las transacciones, mantener la consistencia en la base de datos cuando se ejecuta una transacción o se cancela la ejecución de una, mantener protocolos de fiabilidad, implementar algoritmos para el control de la concurrencia y sincronizar las transacciones que se ejecutan simultáneamente. El manejador recibe solicitudes de procesamiento de transacciones y las traduce en acciones para el calenda rizador. La operación COMMIT señala el término exitoso de la transacción: le dice al manejador de transacciones que se ha finalizado con éxito una unidad lógica de trabajo, que la base de datos esta (o debería estar) de nuevo en un estado consistente, y que se pueden hacer permanentes todas las modificaciones efectuadas por esa unidad de trabajo. La operación ROLLBACK, en cambio, señala e término no exitoso de la transacción: le dice al manejador de transacciones que algo salió mal, que la base de datos podría
  • 4. estar en un estado inconsistente y que todas las modificaciones efectuadas hasta el momento por la unidad lógica de trabajo deben retroceder o anularse. Distribución de los datos Una de las decisiones más importantes que el diseñador de bases de datos distribuidas debe tomar es el posicionamiento de la data en el sistema y el esquema bajo el cuál lo desea hacer. Para esto existen cuatro alternativas principales: centralizada, replicada, fragmentada, e híbrida. La forma 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. Es fácil ver que este esquema tiene un alto costo en el almacenamiento de la información. Debido a que la actualización de los datos debe ser realizada en todas las copias, también tiene un alto costo de escritura, pero todo esto vale la pena si tenemos un sistema en el que se va a escribir pocas veces y leer muchas, y dónde la disponibilidad y fiabilidad de los datos sea de máxima importancia. 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. Como los fragmentos no se replican esto disminuye el costo de almacenamiento, pero también sacrifica la disponibilidad y fiabilidad de los datos. Algo que se debe tomar en cuenta cuando se desea implementar este modelo es la granularidad de la fragmentación. La fragmentación se puede realizar también de tres formas: Una ventaja significativa de este esquema es que las consultas (SQL) también se fragmentan por lo que su procesamiento es en paralelo y más eficiente, pero también se sacrifica con casos especiales como usar JUNTAR o PRODUCTO, en general casos que involucren varios fragmentos de la BDD. Para que una fragmentación sea correcta esta debe cumplir con las siguientes reglas: Este esquema simplemente representa la combinación del esquema de partición y replicación. Se partición la relación y a la vez los fragmentos están selectivamente replicados a través del sistema de BDD. Seguridad Desde hace ya varios años las bases de datos son ampliamente utilizadas en departamentos de gobiernos, empresas comerciales, bancos, hospitales, etc. Actualmente se está cambiando el esquema bajo el cuál se utilizan las bases de datos, ya no son utilizadas únicamente de forma interna, sino que se tiene muchos accesos externos de tipos distintos. Estos cambios que se han introducido en el uso de las bases de datos ha creado la necesidad mejorar las prácticas de seguridad ya que el ambiente ya no es tan controlado como el esquema antiguo.
  • 5. Conceptos Los problemas de mayor importancia en seguridad son autenticación, identificación, y refuerzo de los controles de acceso apropiados. El sistema de seguridad de niveles múltiples. Éste consiste en muchos usuarios con distintos niveles de permisos para una misma base de datos con información de distintos niveles. En las bases de datos distribuidas se han investigado dos acercamientos a este modelo: data distribuida y control centralizado, y data y control distribuidos. En el acercamiento de data distribuida y control centralizado se divide en dos soluciones: particionado y replicado. En el primero de estos lo que se tiene es un conjunto de nodos y cada uno de ellos opera a cierto nivel de seguridad, así el usuario con nivel de permisos X accede al servidor que maneja la data para X. El replicado surgió debido a que si alguien con altos derechos de seguridad deseaba consultar data con de bajo nivel de seguridad debía enviar su petición a un servidor de bajo nivel de seguridad por lo cual se podría divulgar información sensible. En el esquema replicado entonces la data se repite en cascada de tal forma que el nivel más alto tiene una copia entera de la base de datos, y el más bajo solamente la información de más bajo nivel. El otro acercamiento de data y control distribuido cada nodo contiene información de distintos niveles y está diseñado para aceptar peticiones de cualquier nivel de usuario. El problema de inferencia El problema de inferencia consiste en usuarios tratando de ejecutar consultas sobre la BD y estos infiriendo información sobre la respuesta legítima que la base de datos debe responder. Las herramientas para minería de datos hacen este problema aún más peligroso ya que hacen que sea más fácil para cualquier novato poder deducir patrones e información importantes de simplemente probar consultas.