un servidor corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones.
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.
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.
Los DTM se encargan de coordinar y controlar estas acciones.
Dos planificadores son serializables (o equivalentes) si 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.
Para esto existen dos formas básicas: Podemos definir que dos operaciones entran en conflicto que debe ser resuelto si ambas acceden a los mismos datos, y una de ellas es de escritura y si fueron realizadas por transacciones distintas.
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.
Este sello se adjunta a cada petición de lectura y escritura.
Una transacción es una secuencia de una o más operaciones agrupadas como una unidad.
Para esto existen cuatro alternativas principales: centralizada, replicada, fragmentada, e híbrida.
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.
Es fácil ver que este esquema tiene un alto costo en el almacenamiento de la información.
La fragmentación se puede realizar también de cuatro 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: Esta división está dada por la llave foránea, es decir, la operación usada será entre la relación "hija" con la relación "padre", es importante saber que se aplicará la operación de semi-join, permitiendo conservar únicamente las columnas de la relación S. Es común mantener los fragmentos horizontales primarios y derivados en un mismo nodo, permitiendo así, una mejora de eficiencia en el uso de la red al realizar operaciones como el join.
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.
Cuando una base de datos distribuida tiene mucha autonomía local se dice que es federada.