Está en la página 1de 9

Una base de datos distribuida (BDD) es un conjunto de mltiples bases de datos lgicamente relacionadas las cuales se encuentran distribuidas

en diferentes espacios lgicos (pej. un servidor corriendo 2 mquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autnomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual mltiples sitios de bases de datos estn 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 estos fueran accedidos de forma local. Un sistema distribuido de bases de datos se almacena en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes: Hay mltiples computadores, llamados sitios o nodos. Estos sitios deben de estar comunicados por medio de algn tipo de red de comunicaciones para transmitir datos y rdenes entre los sitio

Historia La necesidad de almacenar datos de forma masiva dio paso a la creacin de los sistemas de bases de datos. En 1970 Edgar Frank Codd escribi un artculo con nombre: "A Relational Model of Data for Large Shared Data Banks" ("Un modelo relacional para grandes bancos de datos compartidos"). Con este artculo y otras publicaciones, defini el modelo de bases de datos relacionales y reglas para poder evaluar un administrador de bases de datos relacionales. El cuadrado.

Inicio de las bases de datos distribuidas Originalmente se almacenaba la informacin 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 creacin de almacenamiento distribuido, los cuales hoy en da proveen caractersticas indispensables en el manejo de informacin; es decir, la combinacin de las redes de comunicacin y las bases de datos.

Evolucin 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 globalizacin y a la vez las operaciones de las empresas son cada vez ms descentralizadas geogrficamente. Tambin el poder de las computadoras personales aument y el costo de los Mainframes ya no tena sentido. Adems la necesidad de compartir datos ha hecho que crezca el mercado de las bases de datos distribuidas.

Componentes Hardware involucrado El hardware utilizado no difiere mucho del hardware utilizado en un servidor normal. Al principio se crea que si los componentes de una base de datos eran especializados seran ms eficientes y rpidos, pero se comprob que el descentralizar todo y adoptar un enfoque "nada compartido" (shared-nothing) resultaba ms barato y eficaz. Por lo que el hardware que compone una base de datos distribuida se reduce a servidores y la red.

Sistema Manejador de Base de Datos Distribuida (DDBMS) 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 podra consistir de una coleccin de programas de diferentes fuentes. 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 desarrollado en casa. Sistema Manejador de base de datos (DBMS) Es un programa que procesa cierta porcin 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 transaccin ejecuta un DTM y un nodo de base de datos ejecuta un DBM.

Consideraciones importantes Calendarizador distribuido 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 calendarizacin. Parte del trabajo del calendarizador es realizar estas operaciones de forma que sean serializables y recuperables. Dos calendarizaciones son serializables (o equivalentes) si Cada operacin de lectura lee valores de los datos que son producidos por la misma operacin de escritura en ambas calendarizaciones (es decir son iguales) La operacin final de escritura en cada elemento de la data es la misma en ambas calendarizaciones

Deteccin de bloqueos y Concurrencia Bloqueos Un bloqueo en general es cuando una accin que debe ser realizada est esperando a un evento. Para manejar los bloqueos hay distintos acercamientos: prevencin, deteccin, y recuperacin. Tambin es necesario considerar factores como que hay sistemas en los que permitir un bloqueo es inaceptable y catastrfico, y sistemas en los que la deteccin del bloqueo es demasiado costosa.

En el caso especfico 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 calendarizado. Para esto existen dos formas bsicas: Autnoma: cada nodo es responsable por sus propios bloqueos de recursos. Una transaccin sobre un elemento con n replicas requiere 5n mensajes Peticin del recurso

Aprobacin de la peticin Mensaje de la transaccin Reconocimientos de transaccin exitosa Peticiones de liberacin de recursos

Copia Primaria: un nodo primario es responsable para todos los bloqueos de recursos Una transaccin sobre un elemento con n copias requiere 2n+3 mensajes Una peticin del recurso Una aprobacin de la peticin n mensajes de la transaccin n reconocimientos de transaccin exitosa Una peticin de liberacin de recurso

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.

DBMS Database Management System Coleccin de datos interrelacionados y un conjunto de programas para acceder a esos datos Componentes de un DBMS Data definition language (DDL): Define elementos de los datos en la base de datos Data manipulation language (DML): Manipula datos para aplicaciones Data dictionary: Definiciones de todas las variables en la base

DBMS ms populares Ejemplos Logo Nombre Sybase URL www.sybase.com Productos Adaptive Server Oracle8, Oracle8i, Oracle8iEE, Oracle9i,Orac le 10g PostgreSQL

Oracle

www.oracle.com

PostgreS QL

www.postgresql.org

Microsoft www.microsoft.com

Access, MSSQL Server

MySQL

www.mysql.com

MySQL

Informix

www.informix.com

Illustra, Universal Server, Dynamic Server DB2

IBM

www.ibm.com

Apache

http://db.apache.org/derb Derby y

SQLite

http://www.sqlite.org

SQLite

Firebird

http://firebird.sourceforge Firebird .net

Principales Diferencias entre DBMS Diferencias Tcnicas Sub-selects Select into table Transactions UDF (user defined functions) Foreign keys Views Tipos de Datos Manejo de memoria (Virtual Memory, Shared Memory) Manejo de disco (Archivos, Chunks)

Costo Gratuitos: MySQL, PostgreSQL, mSQL, Interbase Comerciales: DB2, Sybase, Informix, Oracle Otros de dominio pblico: http://www.faqs.org/faqs/databases/freedatabases/

También podría gustarte