Base de datos distribuida

Historia [editar]
La necesidad de almacenar datos de forma masiva dio paso a la creación de los sistemas de bases de datos. En 1970 Edgar Frank Codd escribió un artículo con nombre: “A Relational Model of Data for Large Shared Data Banks” (“Un modelo relacional para grandes bancos de datos compartidos”). Con este artículo y otras publicaciones, definió el modelo de bases de datos relacionales yreglas para poder evaluar un administrador de bases de datos relacionales.
Inicio de las bases de datos distribuidas [editar]
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 lacreació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 [editar]
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 lasoperaciones 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.
Componentes [editar]
Hardware involucrado [editar]
El hardware utilizado no difiere mucho del hardware utilizado enun 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 decentralizar 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 [editar]
Sistema deAdministración de Base de Datos Distribuida (DDBMS) [editar]
Este sistema está formado por las transacciones y los administradores de la base de datos distribuidos. Un DDBMS implica un conjunto de programas que operan en diversas computadoras, estos programas pueden ser subsistemas de un único DDBMS de un fabricante o podría consistir de una colección de programas de diferentes fuentes.
Administradorde transacciones distribuidas (DTM) [editar]
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 desarrollado en casa.
Administrador de la base de datos (DBM) [editar]
Es unprograma 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 [editar]
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.
Consideraciones importantes [editar]
Calendarizadordistribuido [editar]
El calendarizador 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 calendarizador es realizar estas operaciones de forma que sean serializables y recuperables.
Dos calendarizaciones sonserializables (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 [editar]
Bloqueos [editar]
Un bloqueo en general es cuando una acción…