modelos avanzados de bases de datos base de datos distribuidas

modelos avanzados de bases de datos base de datos distribuidas modelos avanzados de bases de datos base de datos distribuidas

alarcos.inf.cr.uclm.es
from alarcos.inf.cr.uclm.es More from this publisher
13.08.2013 Views

Base de Datos Distribuidas domina dado que hay una velocidad de comunicación relativamente baja. Es por esto que los algoritmos diseñados para trabajar en entornos WAN suelen despreciar el coste de CPU y de entrada/salida. En redes LAN el peso las comunicaciones no es tan dominante y los tres factores se equiparan. Otro factor importante a tener en cuenta a la hora de optimizar consultas en bases de datos distribuidas es saber la complejidad computacional de los diferentes tipos de operaciones que se pueden hacer. Antes hemos visto que ganábamos eficiencia al eliminar un producto cartesiano, que como veremos ahora, es la operación más compleja. Veamos un listado de las principales operaciones del álgebra relacional junto con su complejidad: • Selección y proyección sin eliminar duplicados: O(n) • Proyección (con eliminación de duplicados) y agrupación: O(n*log n). • Junta, semijunta, división, operaciones con conjuntos: O(n*log n). • Producto cartesiano: O(n^2). Características de los procesadores de consultas Comparar un sistema centralizado con uno distribuido es una tarea complicada ya que ambos difieren en una gran cantidad de aspectos, desde su arquitectura hasta la forma de tratar una consulta. Vamos a enumerar las principales características de los procesadores de consultas distribuidas y que los diferencias de los procesadores de los sistemas centralizados: • Tipo de optimización. • Granularidad de la optimización. • Tiempo de optimización • Estadísticas • Nodos de decisión. • Topología de la red. Arquitectura del procesamiento de consultas El procesamiento de consultas distribuidas podemos separarlo en cuatro fases o niveles, desde que la consulta llega hasta que se optimiza al máximo posible: • Descomposición de consultas. • Localización de datos. 20

Base de Datos Distribuidas • Optimización global de consultas. • Optimización local de consultas. Ventajas y desventajas de las Bases de datos Distribuidas Ventajas: • Favorecer la naturaleza distribuidora de muchas aplicaciones, no solamente a nivel local sino incluso en diferentes lugares. • Se consigue una compartición de los datos, sin perder un determinado control local. • Crecimiento modular. • El rendimiento se mejora. Cuando se distribuye una gran base de datos por múltiples sitios, las consultas locales y las transacciones tienen mejor rendimiento porque las bases de datos locales son más pequeñas. A parte de esta distribución, se puede conseguir lo siguiente en estos sistemas: o Reducir el número de transacciones ejecutándose por sitio. o Un paralelismo entre las consultas ejecutando varias en sitios diferentes, descomponiendo una de ellas en subconsultas que puedan ejecutarse en paralelo. • Aumento de la fiabilidad y la disponibilidad. • Economía: es más barato construir un sistema con pequeñas computadoras que uno grande si ambos dan el mismo rendimiento. • Por último, la autonomía de estos sistemas es grande. Desventajas: • Hay una menor seguridad en cuanto al control de acceso a los datos: control de replicas y errores que puedan producirse en la red. • Mayor complejidad en el diseño e implementación del sistema. Además si la replicación de datos no se hace de forma adecuada, las ventajas se pueden transformar en desventajas. • Excesivos costes en el intento de conseguir la transparencia mencionada anteriormente. • Falta de estándares y de experiencia, una vez más en estos modelos avanzados de BD. • No se puede garantizar al 100 % el rendimiento y la fiabilidad. 21

Base <strong>de</strong> Datos Distribuidas<br />

domina dado que hay una velocidad <strong>de</strong> comunicación relativamente baja. Es por esto que los<br />

algoritmos diseñados para trabajar en entornos WAN suelen <strong>de</strong>spreciar el coste <strong>de</strong> CPU y <strong>de</strong><br />

entrada/salida. En re<strong>de</strong>s LAN el peso las comunicaciones no es tan dominante y los tres factores<br />

se equiparan.<br />

Otro factor importante a tener en cuenta a la hora <strong>de</strong> optimizar consultas en <strong><strong>base</strong>s</strong> <strong>de</strong> <strong>datos</strong><br />

<strong>distribuidas</strong> es saber la complejidad computacional <strong>de</strong> los diferentes tipos <strong>de</strong> operaciones que se<br />

pue<strong>de</strong>n hacer. Antes hemos visto que ganábamos eficiencia al eliminar un producto cartesiano,<br />

que como veremos ahora, es la operación más compleja.<br />

Veamos un listado <strong>de</strong> las principales operaciones <strong>de</strong>l álgebra relacional junto con su<br />

complejidad:<br />

• Selección y proyección sin eliminar duplicados: O(n)<br />

• Proyección (con eliminación <strong>de</strong> duplicados) y agrupación: O(n*log n).<br />

• Junta, semijunta, división, operaciones con conjuntos: O(n*log n).<br />

• Producto cartesiano: O(n^2).<br />

Características <strong>de</strong> los procesadores <strong>de</strong> consultas<br />

Comparar un sistema centralizado con uno distribuido es una tarea complicada ya que<br />

ambos difieren en una gran cantidad <strong>de</strong> aspectos, <strong>de</strong>s<strong>de</strong> su arquitectura hasta la forma <strong>de</strong> tratar<br />

una consulta. Vamos a enumerar las principales características <strong>de</strong> los procesadores <strong>de</strong> consultas<br />

<strong>distribuidas</strong> y que los diferencias <strong>de</strong> los procesadores <strong>de</strong> los sistemas centralizados:<br />

• Tipo <strong>de</strong> optimización.<br />

• Granularidad <strong>de</strong> la optimización.<br />

• Tiempo <strong>de</strong> optimización<br />

• Estadísticas<br />

• Nodos <strong>de</strong> <strong>de</strong>cisión.<br />

• Topología <strong>de</strong> la red.<br />

Arquitectura <strong>de</strong>l procesamiento <strong>de</strong> consultas<br />

El procesamiento <strong>de</strong> consultas <strong>distribuidas</strong> po<strong>de</strong>mos separarlo en cuatro fases o niveles,<br />

<strong>de</strong>s<strong>de</strong> que la consulta llega hasta que se optimiza al máximo posible:<br />

• Descomposición <strong>de</strong> consultas.<br />

• Localización <strong>de</strong> <strong>datos</strong>.<br />

20

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!