Base de Datos Datos Distribuidas Distribuidas
Benjamín Martínez Martínez
[email protected]
Base de Datos Datos Distribuidas Distribuidas México
Db2
Monterrey Microsoft Access
Red de comunicaciones
Chiapas SqlServer
Guerrero Oaxaca MySql
Postgres
Conceptos Concept os básicos básicos BDD Base de Datos Datos Distribu Distribuidas idas Es un conjunto de múltiples bases de datos lógicamente relacion rel acionadas adas las cual cuales es se encu encuentr entran an distribuidas distribuidas entre entre diferente diferentess sitios sit ios int inter erccone onecta ctados dos por una re red d de com omuni unicac cacion iones es SBDD Sist Sistema ema de Base Base de Dat Datos os Dist Distribui ribuida da 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 accesar los datos en cualquier parrte de la red ex pa exac acttam amen entte como si lo loss da dattos es estu tuvi vier eran an almacenados almac enados en su sitio propio propio
Continuación… SMBDD Un sistema de manejo de bases de datos distribuidas Es aqu aquel el que que se enc encar arga ga del mane manejo jo de la BDD BDD y pr propo oporc rcio iona na un mecanismo de acceso que hace que la distribución sea transparente a los usuarios. El término tran anssparente significa que la aplicación trabajaría, desde un punto de vista lógico, como si un solo SMBD ejecutado en una sola máquin máq uina, a, adm admini inistr strar araa eso esoss dat datos os.. SBDD Un si sist stem ema a de ba base se de da dattos di dist stri ribu buid ida a Es entonces el resultado de la integración de una base de datos dat os di distr stribu ibuida ida con un sis sistem temaa par paraa su man manejo ejo..
Objetivos de las BDD Autonomía
local. Inde depe pend nden enci ciaa de un sitio sitio cen entr tral al.. In Operació ación n co continu ntinua. a. Oper ransparencia ia de Localización. Transparenc ransparencia ia de Fragmentació Fragmentación n Transparenc ransp nspar arenc encia ia de re repeti petició ción. n. Tra Proc ocesa esamie mient nto o dis distri tribui buido do de cons onsult ultas. as. Pr Procesamiento esamiento de transacciones transacciones distribuidas. distribuidas. Proc ransparencia ia de "hardwar "hardware". e". Transparenc ranspar parencia encia de Sistem Sistemaa oper operativ ativo o Trans ransp nspar arenc encia ia de re red. d. Tra ranspar parencia encia de SMBD Trans
Disciplinas de estudio Los ambientes en los que se encuentra con mayor frecuencia el us uso o de la lass ba base sess de da dattos di dist stri ribu buid idas as son: Cualquier
organización que tiene una estructura descentralizada. típicos de lo anterior son: organismos Casos gubern gub ername amenta ntales les y/o de servi servicio cio púb públic lico o. La industria de la manufactura, particularmente, aquella con co n plantas múltiples múltiples.. Por ejempl ejemplo o, la indu industria stria auto automotr motriz. iz. Aplicaci icaciones ones de co contr ntrol ol y co comand mando o mili militar tar.. Apl Líneass de transporta transportación ción aérea. aérea. Línea Cadenas hoteleras. Servicios os bancarios bancarios y financieros financieros.. Servici
Arquitectura de BDD Arquit Ar quitectur ecturas as de memo memoria ria co comparti mpartida. da. Consisten de diversos procesadores los cuales accesan una misma memoria y un misma unidad de almacenamiento (uno o varios discos). Algunos ejemplos de este tipo son las computadoras Sequent Encore y los mainframes IBM4090 y Bull DPS8 (Figura 1)
P1
……
Pn
M
Figura 1. Arquitectura de memoria compartida
BD
Pn Procesador MMemoria
Continuación… Arqui Ar quite tectu ctura rass de dis discco comp ompart artido ido Consiste de diversos procesadores cada uno de ellos con su memo me mori riaa lo loca call pe pero ro com ompar parti tien endo do un unaa mi mism smaa un unid idad ad de almacenamiento (uno o varios discos). Ejemplos de estas arquitecturas arquit ecturas son son los cluster de Digital, y los modelos modelos IMS/VS IMS/VS Data Sharing de IBM
P1
Pn ……
M1
Mn
Figura 2. Arquitectura de disco compartido
BD BD BD
Pn Procesador MMemoria
Continuación… Arqui Ar quite tectu ctura rass nad nadaa comp ompart artido ido Consiste de diversos procesadores cada uno con su propia memoria y su propia unidad de almacenamiento. Aquí se tienen los clusters de estaciones de trabajo, la computadoras Intel Paragon, NCR 3600 y 3700 e IBM SP2
P1
Pn BD BD BD
M1
……
BD BD BD Mn
Figura 3. Arquitectura nada compartid compartido o
Pn Procesador MMemoria
Dise Di seño ño de BDD
Consideraciones de Diseño Dise ño de BDD Existen varios factores relacionados a la construcción de bases de datos distribuidas que no se presentan en bases de datos centralizadas. Entre los más importantes se encuentran los siguientes: 1
Diseño Dis eño de la Base Base de Dato Datoss Distrib Distribuid uidaa (unidad II)
2
Proc Pr ocesam esamien iento to de co consu nsultas ltas (Unidad III)
3
Contro Con troll de co concur ncurren rencia cia (Unidad IV )
1
Confiablidad (Unidad IV )
Diseño Diseñ o de la BDD En el diseño de bases de datos distribuidas se debe considerar el problema de como distribuir la información entre diferentes sitios. Existen razones organizacionales las cuales determinan en gran medida lo anterior. Sin embargo, cuando se busca eficiencia en el acceso a la información, se deben abor abordar dar dos prob problemas lemas rela relacion cionados ados.. como fragmentar fragmentar la información información.. Primero, como diferentes es Segundo, como asignar cada fragmento entre los diferent siti si tios os de la red ed..
Continuación … En el diseño de la BDD también es importante considerar considerar si la in info form rmac ació ión n es está tá re repli plica cada da,, es de deci cirr, si exi exist sten en cop opia iass múltiples del mismo dato y, y, en este caso, como mantener la con onsi sist sten enci ciaa de la in info form rmac ació ión. n. Fi Fina nalm lmen entte, un unaa pa part rtee importante en el diseño de una BDD se refiere al manejo del directorio. Si existen únicamente usuarios globales, se debe manejar un solo directorio global. Sin embargo, si existen también usuarios locales, el directo directorio rio combina información información local con con informaci información ón glob global al
La organización de los sistemas de Base de Datos Distr Di strib ibui uida dass se pu pued edee an anal aliz izar ar en 3 di dime mens nsio ione nes: s: Modo de Acceso
Estático
Dinámico
Información total Información Parcial Datos Datos y programas
Compartición
Nivel de Conocimiento
n ó i c i t e r d a l p e m v o i N C
Compartición De datos
Cada máquina posee sus propias aplicaciones locales pero se comparten los datos
Compartición de datos y programas
Características de acceso o t n e i e m d i l c e o v n i o N c
Inexistente
Cada aplicación y sus datos se ejecutan en una máquina sin comunicación con otros programas o datos
Las aplicac aplicaciones iones locales en una máquina pueden invocar servicios en otras y además comparten los datos
Estático
El modelo de acceso a los datos no varía con el tiempo
Dinámico
El modelo de acceso a los datos varía con el tiempo
Sin información Los diseñadores no tienen información de cómo acceden los usuarios a los datos Con información Los diseñadores no poseen toda la información de parcial cómo acceden los usuarios a los datos Con información Los diseñadores poseen toda la información de cómo total acceden los usuarios a los datos
Estrategias de Diseño Las estrategias son las utilizadas en una BD relacional, pero añad añ adie iend ndo o un pas paso o de di dise seño ño de la la di dist stri ribu buci ción ón A la hora de ab abo ordar el diseño de una Ba Basse de Datos Distri Dis tribui buida da pod podre remo moss optar pri princi ncipal palmen mente te por por dos tipos tipos de estrategias: estrate ategia gia asc ascend endent entee la estr
(bott (bo tton on-up -up)) y
estrategi ategiaa desc descenden endente( te(top top-do -down) wn) la estr
La estrategi estrategiaa ascenden ascendente te (bott (botton-up). on-up). En este caso se partirá de los esquemas conceptuales locales y se trabajaría para llegar a conseguir el esquema conceptual global. Después se pasaría al diseño de distribución. Esta estrategia suele ser utilizada para inte in tegr grar ar va vari rias as ba base sess de da dato toss cen entr trali alizad zadas as exi exist sten ente tes. s. la
estrategia descendente(top-down). Se parte de cero y se avan anzza en el desarroll llo o del trabaj ajo o. Lo Loss pasos a realizar medi me dian ante te es esta ta es estr trat ateg egia ia so son: n: Análisis isis de requis requisito itoss Anál Dise seño ño de Vi Vist stas as Di Diseño o co conc nceptual eptual Diseñ Dise seño ño de la di dist stri ribu buci ción ón Di Fragmentación Asignación Diseño físico onito toriz rizaci ación ón y aju ajust stee Moni
Diccionario de Datos Es el lugar donde se deposita información acerca de todos los datos que forman la BD. Es una guía en la quee se de qu desc scri ribe be la BD y los los ob obje jettos qu quee la la for forma man. n. El diccionario contiene las características lógicas de los sitios donde se almacenan los datos del sistema, incluy inc luyend endo o nom nombr bre, e, des descri cripci pción, ón, ali alias, as, cont onteni enido do y organización. Identifi ficca los procesos donde se emplean los datos y los sitios donde se necesita el acceso acc eso inmediato inmediato a la información información
En una BD relacional, el diccionario de datos proporciona información acerca de: estructu ra lógica y física de la BD. BD. La estructura Las
definiciones de todos los objetos de la BD: tablas,
vistas, índices, disparadores, procedimientos, funciones, etcétera. asignad o y utiliz utilizado ado por los objetos. El espacio asignado ta blas. Los valores por defecto de las columnas de las tablas. Información acerca de las restricciones de integridad.
privile gios y roles otorgados a los usuarios. Los privilegios l os accesos a los objetos. Auditoría de información, como los
Un diccionar diccionario io de datos debe cumpli cumplirr las siguientes características: Debe
soportar las descripciones de los modelos conceptual, lógico, interno y
externo de la BD BD.. Debe estar integrado dentro del SGBD. Debe
apoyar la transferencia eficiente de información al SGDB. La conexión entre
los modelos interno y externo debe ser realizada en tiempo de ejecución. Debe comenzar con la reorganización de versiones de producción de la BD.
Además debe reflejar los cambios en la descripción de la BD. Cualquier cambio a la descripción de programas ha de ser reflejado automáticamente en la librería de descripción de programas con la ayuda del diccionario de datos. Debe estar almacenado en un medio de almacenamiento con acceso directo para
la fácil recuperación de información
Niveles de Transp Transparenc arencia ia La transparencia se puede entender como la separación de la semántica de alto nivel de un sistema de las aspectos de bajo nivel relacionados a la implementación del mismo. Un nivel de transparencia adecuado permite ocultar los detalles de implementación a las capas de alto nivel de un sisstem si emaa y a ot otrros usua usuari rios os
Niveles de Transp Transparenc arencia ia
Fragmenta Fr agmentación ción de datos Horizontal Consiste del particionamient Consiste particionamiento o en tuplas t uplas de una relación global en sub subco conju njunt ntos os,, don donde de cad cadaa sub subcconj onjunt unto o pue puede de con onte tener ner datos que tienen propiedades comunes y se puede definir expresando cada fragmento como una operación de selección sobree la rela sobr relación ción glob global al
Vertical La fragmentación vertical es la subdivisión de atributos en grupos. Los fragmentos se obtienen proyectando la relación glob gl obal al sob sobre re ca cada da gr grup upo o
Distribución Distrib ución de datos datos Describe el proceso de decidir dónde localizar locali zar los datos. Las L as estrategias que se tienen son: Colocación
centralizada de los datos , toda la base de datos se guarda gu arda en un
sitio. Colocación
particionada de los datos, la base de datos se divide en varias
part pa rtes es de desar sarti ticul culad adas as (fr (fragm agmen ento tos) s) y se gua guard rdan an en va vari rios os sit sitios ios.. Colo loca caci ción ón Co
repl re plic icad ada a de lo loss da dato toss, se guardan copias de uno o más
frag fr agme ment ntos os de la ba base se de da dato toss en va vari rios os si siti tios os..
Continuación… La
distribución de los datos se logra mediante la partición de
los datos, replicación de los datos o mediante una combinación combinación de am amba bass. La
colocación de los datos está estrechamente relacionada en
como com o la BD se divide o fragmenta. La colocación de los datos ve qué da dattos lo loccal aliiza zarr y en dónde
Continuación… Los
algoritmos de colocación de los datos consideran varios
factores, incluidos: Objet jetiv ivos os de de desem sempeñ peño o y dis dispo ponib nibil ilida idad d Ob Tamaño,
de los dat datos os..
número de filas y el número de relaciones que una entidad
mantie man tiene ne co con n otr otras as en entid tidade ades. s. Tipo poss de tr tran ansa sacc ccio ione ness a se serr ap apli lica cada dass a Ti
la bas la basee de da dattos os..
atrib ribut utos os ac acce cesad sados os por cad cadaa una de las tra transa nsacc ccion iones es.. Los at
Replicación de datos Se refi efier eree al al alma maccen enam amie ient nto o de cop opia iass de da dattos en si siti tios os múlt ltiiple less, pu pueede ser par araa satisfacer requerimien enttos de informac info rmación, ión, además además de mejor mejorar ar la dispo disponibi nibilidad lidad de los dato datoss y el tiempo respuesta; finalmente f inalmente estas copias reducen reducen los cost costos os de com omuni unicac cación ión y de cons onsult ultaa tota totales les Los datos replicados se someten a la regla de consistencia mutua, la cual requiere que todas las copias de fragmentos de datos sean idénticas, esto quiere decir que cuando hay una actualización de la base de datos se realiza en todos los sitios donde don de ha hayy rép réplicas licas
Continuación … Exis Ex istten tres tres es esccen enar ario ioss de rep epli lica caci ción ón:: Base de da Base dato toss to tottalm almen entte re repl plic icad ada, a, guarda varias copias de cada fragmento de la base de datos en varios sitios. No es práctica debido la cantidad de cargaa impues carg impuesta ta al sist sistema. ema. Base de datos parcialmente replicada, guarda múltiples múlti ples copias copias de algunos algunos fragmentos fragmentos de la base de datos dat os en múltipl múltiples es sitio sitios. s. Se Se tiene un buen buen manejo Base de datos no replicada, guarda cada fragmento de base base de dat datos os en un solo solo sit sitio io..
Procesamiento de con onsu sult ltas as di dist stri ribu buid idas as
Metodología del procesamiento procesamien to de consultas distribuidas. El procesamiento de consultas tiene como objetivo principal transformar una consulta escrita en un lenguaje de alto nivel (SQL) en una estrategia de ejec ej ecuc uciión cor orrrec ecta ta y efi eficcie ient ntee ex expr pres esad adaa en un lenguaje de bajo niv nivel el (algebr (algebraa relacional) y ejecutar la est estra rate tegia gia par paraa ext extra raer er los los dat datos os re reque querid ridos os
¿Cuáles son las faces típicas típ icas del procesamiento de consultas?
Descomposición
(Análisis sintáctico y validación)
Optimización
Generación ón de código código Generaci Ejecución
¿Cuáles son las etapas típicas desco des comp mposi osició ción n de cons onsult ultas? as? Análisis Normalización Análisis
semántico
Simplificación Reestructuración
de la consulta
de
la
Estrategias de procesamiento procesamien to de consultas distribuidas. El sistema debe de ser capaz de procesar consultas que hagan referencia a datos situados a mas de un nodo
Estrategias de procesamiento … Real aliz izar ar la lass op oper erac acio ione ness de se sele leccci ción ón Re Combinar
lo an lo ante tess pos posib ible le
el producto cartesiano con una operación de
sele se leccci ción ón su subs bsig igui uien entte cu cuyyo pr pred edic icad ado o rep eprres esen entte un unaa condición de combinación, para formar una operación de combinación Utilizar
la asociatividad de las operaciones binarias para
reordenar los nodos hoja de modo que los nodos hoja con las operaciones de selección más restrictivas se ejecuten primero Reali alizar zar las ope opera racio ciones nes de pr proy oyec ecció ción n Re
lo ant antes es posi posible ble
[email protected]