Bases de Datos Distribuidas
Bases de Datos Distribuidas
Bases de Datos Distribuidas
Introduccin:
Las bases de datos distribuidas son grupos de datos que pertenecen a un sistema,
pero a su vez est repartido entre ordenadores de una misma red, ya sea a nivel
local, o cada uno en una diferente localizacin geogrfica, cada sitio en la red es
autnomo en sus capacidades de procesamiento y es capaz de realizar
operaciones locales y en cada uno de estos ordenadores debe estar ejecutndose
una aplicacin a nivel global que permita la consulta de todos los datos como si se
tratase de uno solo.
Para tener una base de datos distribuida deben cumplirse las condiciones de una
red computacional. Una red de comunicacin provee las capacidades para que un
proceso ejecutndose en un sitio de la red enve y reciba mensajes de otro
proceso ejecutndose en un sitio distinto. Parmetros a considerar incluyen:
Retraso en la entrega de mensajes, costo de transmisin de un mensaje y
confiabilidad de la red. Diferentes tipos de redes: point-to-point, broadcast, LAN,
WAN.
Qu es una transaccin?
Dentro de las bases de datos se habla de transacciones a la secuencia de
operaciones realizadas como una sola unidad lgica de trabajo. En esta unidad
lgica de trabajo debe exhibir cuatro propiedades, conocidas como propiedades
de atomicidad, coherencia, aislamiento y durabilidad para ser calificada como
transaccin.
Atomicidad: Una transaccin debe ser una unidad atmica de trabajo, tanto
si se realizan todas sus modificaciones en los datos, como si no se realiza
ninguna de ellas.
Coherencia: cuando finaliza, una transaccin debe dejar todos los datos en
un estado coherente. En una base de datos relacional, se deben aplicar
todas las reglas a las modificaciones de la transaccin para mantener la
integridad de todos los datos. Todas las estructuras internas de datos, como
ndices de rbol B o listas doblemente vinculadas, deben estar correctas al
final de la transaccin.
Aislamiento: Las modificaciones realizadas por transacciones simultneas
se deben aislar de las modificaciones llevadas a cabo por otras
transacciones simultneas. Una transaccin reconoce los datos en el
estado en que estaban antes de que otra transaccin simultnea los
modificara o despus de que la segunda transaccin haya concluido, pero
no reconoce un estado intermedio. Esto se conoce como seriabilidad, ya
que deriva en la capacidad de volver a cargar los datos iniciales y
reproducir una serie de transacciones para finalizar con los datos en el
Control de concurrencia
En base de datos, la concurrencia es un trmino referido a la propiedad de los
sistemas que permiten que mltiples procesos sean ejecutados al mismo tiempo, y
que potencialmente puedan interactuar entre s.
La concurrencia en las base de datos es de suprema importancia en los sistemas
de informacin, ya que evita errores en el momento de ejecutar las diferentes
transacciones. El objetivo de los mtodos de control de concurrencia es garantizar
la no inferencia o la propiedad de aislamiento de transacciones que se ejecutan de
manera concurrente. Los distintos objetivos atacan el problema garantizando que
las transacciones se ejecuten en un plan que sea serializable, es decir, que el
resultado sea equivalente a el resultante de ejecutar un plan en serie.
En un sistema de administracin de base de datos es necesario algn tipo de
mecanismo de control de concurrencia para asegurar que las transacciones
concurrentes no interfieran entre s. En otras palabras, el control de concurrencia
distribuido de un sistema de administracin de base de datos asegura que la
consistencia de la base de datos se mantenga en un ambiente distribuido
multiusuario.
El control de accesos concurrentes y especficamente de transacciones
concurrentes es manejado por un mdulo del sistema de administracin de base
de datos. Este mdulo es llamado Schedule.
Es importante recordar que muchos de los datos de la base no se encuentran
nada ms en disco, sino tambin en los buffers de memoria, de ah que el
Schedule interacta con ellos y en su defecto solicita la lectura de los datos del
disco.
Transparencia
consultas
de
desempeo
optimizacin
de
Fragmentacin de datos
La fragmentacin de datos permite descomponer un objeto en dos o ms
segmentos. El objeto podra ser la base de datos de un usuario, una base de
datos de sistema, o una tabla. Cada fragmento puede ser almacenado en
cualquier sitio de una red de computadoras. La informacin acerca de la
fragmentacin de los datos se guarda en el catlogo de datos distribuidos, del cual
se tiene acceso por el TP para procesar solicitudes del usuario.
Las estrategias de fragmentacin, estn basadas al nivel de tabla y consisten en
dividir una tabla en fragmentos lgicos. Los tipos de fragmentacin ms utilizados
son los siguientes:
Fragmentacin horizontal: se refiere a la divisin de una relacin en
subconjuntos de tuplas. Cada fragmento es guardado en un nodo diferente
y cada fragmento tiene renglones nicos. No obstante, los renglones nicos
tienen todos los mismos atributos. En pocas palabras, cada fragmento
representa el equivalente de un enunciado SELECT, con la clusula
WHERE en un solo atributo.
Fragmentacin vertical: se refiere a la divisin de una relacin en
subconjuntos de atributo. Cada subconjunto se guarda en un nodo diferente
y cada fragmento tiene columnas nicas, con excepcin de la columna
llave, que esta es comn a todos los fragmentos. Esto es el equivalente del
enunciado PROJECT en el SQL.
Fragmentacin combinada: Hace referencia a una combinacin de
estrategias horizontales y verticales. En otras palabras, una tabla puede
dividirse en varios subconjuntos horizontales, cada uno de los cuales tiene
un subconjunto de atributos.
Replica de datos
Aunque la rplica tiene algunos beneficios, tambin impone gastos generales
adicionales de procesamiento DDBMS, porque cada una de las copias de datos
debe ser mantenida por el sistema. Adems, como los datos se replican en otro
sitio, hay costos de almacenamiento asociados y ms tiempos de transaccin.
Existen tres situaciones de replica: una base de datos puede ser replicada por
completo, parcialmente o no replicada.
Una base de datos replicada por completo: guarda mltiples copias de
cada uno de los fragmentos de la base de datos en mltiples sitios. En este
caso, todos los fragmentos de la base de datos se duplican. Una base de
datos replicada por completo puede ser imprctica debido a la cantidad de
gasto general que impone en el sistema.
Colocacin de datos
La asignacin o colocacin de datos describe el proceso de decidir dnde ubicar
datos. Las estrategias para asignacin de datos son como sigue:
Con asignacin de datos centralizados: toda base de datos se guarda en
un solo sitio.
Con asignacin de datos divididos: la base de datos se divide en dos o
ms partes disjuntas y se guarda en dos o ms sitios.
Con asignacin de datos replicados: las copias de uno o ms fragmentos
de la base de datos se guardan en varios sitios.
La distribucin de datos sobre una red de cmputo se logra por medio de divisin,
de rplica de datos o por una combinacin de ambas. La asignacin de datos est
estrechamente relacionada con la forma en que una base de datos se divide o
fragmenta. Casi todos los estudios de asignacin de datos se concentran en un
solo problema: cuales datos ubicar en cada sitio o nodo.
Los algoritmos de asignacin de datos toman en consideracin diversos factores,
como son:
o Objetivos de desempeo y disponibilidad de datos.
o Tamao, numero de renglones y de relaciones que una entidad mantiene
con otras entidades.
o Tipos de transacciones a aplicar a la base de datos y los atributos a los que
tienen acceso cada una de estas transacciones.
o Operacin desconectada para usuarios mviles. En algunos casos, el
diseo podra considerar el uso de fragmentos desconectados sin cohesin
para usuarios mviles, en particular para datos de solo lectura que no
requieren actualizaciones frecuentes y para los cuales las ventanas de
actualizacin de rplica pueden ser ms largas.
Conclusin
Creo que los sistemas de base de datos distribuidos tienen muchas ventajas.
Principalmente que los datos son localizados en un lugar ms cercano.
Los datos se pueden colocar fsicamente en el lugar donde se accedan ms
frecuentemente, haciendo que los usuarios tengan el control local de los datos con
los que interactan. Los datos tienen cierta autonoma que permite a los usuarios
aplicar polticas locales respecto de la forma en que se acceso a los datos.
Entonces entiendo que las bases de datos distribuidas son mucho ms seguras y
confiables, en caso de que algn sitio donde esta una base de datos no funcione,
se tiene la opcin de buscarlo en otro sitio, puesto que probablemente sean datos
replicados los que se estn buscando.
Al menos en mi opinin personal, creo que las bases de datos distribuidas son
mejores que las base de datos centralizados, porque las distribuidas se
complementan unas con otras, y no son dependientes de un solo sitio que
contenga la informacin requerida.
Bibliografa
Libro de texto:
Base de datos, diseo, implementacin y administracin.
Autor: Carlos Coronel
Internet:
https://technet.microsoft.com/es-es/library/ms190612(v=sql.105).aspx
http://wizardsofbd.blogspot.mx/2011/06/control-de-concurrencia-en-la-basesde.html
http://guerrero-guerreros.blogspot.mx/
https://es.wikipedia.org/wiki/Control_de_concurrencia_optimista
http://basesdatosdistribuidas.blogspot.mx/2012/11/control-deconcurrencia.html
https://prezi.com/fn1ag6nrttwt/42-control-de-concurrencia-base-de-datosdistribuida/
http://ocw.uc3m.es/ingenieria-informatica/diseno-y-administracion-de-bases-dedatos/teoria/Tema4_4(Administracion_Recuperacion).pdf
https://modelosbd2012t1.wordpress.com/2012/03/08/bases-de-datosdistribuidas/
http://www.sites.upiicsa.ipn.mx/polilibros/portal/polilibros/p_terminados/Polilibro
FC/Unidad_IV/Unidad%20IV_5.htm
http://bdjulian.galeon.com/aficiones1783639.html
https://modelosbd2012t1.wordpress.com/2012/03/08/bases-de-datosdistribuidas/
http://alumno.ucol.mx/vpc1052/public_html/Expo%20SBDD.doc
https://iessanvicente.com/colaboraciones/BBDDdistribuidas.pdf
http://amazonasopina.blogspot.mx/2012/09/la-transparencia-en-las-bases-dedatos.html