actividad 2 base de datos 2 leonardo aquino

15
Actividad 2: Base de Datos II Alumno: Leonardo Aquino Hernández

Upload: byakino-tecleonardo

Post on 17-Dec-2014

168 views

Category:

Investor Relations


0 download

DESCRIPTION

Actividad 2 Base de Datos II

TRANSCRIPT

Page 1: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

Actividad 2:

Base de Datos IIAlumno: Leonardo Aquino Hernández

Page 2: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

1. Que es una Base de Datos Distribuida

Una Base de Datos Distribuida es, una base de datos construida sobre una red computacional y no por el contrario en una máquina aislada. La información que constituye la base de datos esta almacenada en diferentes sitios en la red, y las aplicaciones que se ejecutan accedan datos en distintos sitios.  Una Base de Datos Distribuida entonces es una colección de datos que pertenecen lógicamente a un sólo sistema, pero se encuentra físicamente esparcido en varios "sitios" de la red. Un sistema de base de datos distribuidas se compone de un conjunto de sitios, conectados entre sí mediante algún tipo de red de comunicaciones, en el cual : Cada sitio es un sistema de base de datos en sí mismo, pero,Los sitios han convenido en trabajar juntos ( si es necesario ) con el fin de que un usuario de cualquier sitio pueda obtener acceso a los datos de cualquier punto de la red tal como si todos

los datos estuvieran almacenados en el sitio propio del usuario.

En consecuencia, la llamada "base de datos distribuida" es en realidad una especie de objeto virtual, cuyas partes componentes se almacenan físicamente en varias bases de datos "reales" distintas ubicadas en diferentes sitios. De hecho, es la unión lógica de esas bases de datos.

Page 3: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

2. Cuales son los componentes que se Involucran en una Base de Datos.

HARDWARE  Como se muestra en la Figura 4 los nodos de procesamiento pueden estar formados por múltiples y distintos tipos de hardware. En algunos sistemas distribuidos, como en la Figura 4(a), los nodos son homogéneos. En otros, como en la Figura 4(b) y (c), son heterogéneos. Al determinar las autorizaciones de proceso de los nodos deberán tomarse en cuenta las diferencias en las velocidades de procesamiento y las capacidades de almacenamiento.  SOFTWARE El programa principal que necesitamos considerar en un sistema de base de datos distribuida es el DDBMS. La arquitectura DDBMS que se muestra en la Figura 1 es genérica. Los DTM, y DBM pueden ser subsistema de un solo producto DDBMS concesionado por un solo fabricante. En forma alterna y de manera más frecuente, el DDBMS es un amalgama de programas desarrollados en casa y de productos obtenidos por varios fabricantes de software. En muchos casos, los DTM se escriben en casa, y los DBM son productos DBMS comerciales.

DATOS Una de las claves de un sistema de base de datos distribuida consiste en que los datos se duplican, o no. Una base de datos distribuida puede no estar duplicada, parcialmente duplicada o totalmente duplicada. Si no está duplicada, existe una y sólo una copia de cada elemento de datos. Los elementos de datos se asignan a nodos particulares, y pueden residir en su nodo asignado.

Page 4: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

PROCEDIMIENTOS  Los sistemas de base de datos distribuidos contienen una multitud de componentes de procesamiento. El primer grupo corresponde a derechos de procesamiento. ¿Qué nodos pueden hacer qué y con qué datos? En los sistemas distribuidos más sencillos, los datos no están duplicados, y sólo el nodo que almacena los datos puede actualizarlos. (De hecho, en el sistema más sencillo de todos, los datos no se actualizan en lo absoluto, se obtienen de una fuente ajena, y se procesan como datos de lectura. Una situación así es rara.) En situaciones más complicadas, cualquier nodo puede emitir una solicitud de actualización para cualquier elemento de datos, por sí mismo o para cualquier otro nodo.

PERSONAL Los sistemas distribuidos varían en el conocimiento que exigen a las personas que trabajan con ellos. Los sistemas con un DDBMS complejo y poderoso imponen pocas demandas especiales sobre los usuarios. De hecho, los usuarios no saben que están procesando datos distribuidos. Sólo tienen acceso a sus aplicaciones, y todo el procesamiento distribuido lo efectúa el DDBMS. En sistemas menos complejos, los usuarios deben involucrarse.

Page 5: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

3. Cuales son las Ventajas y Desventajas de una Base de Datos Distribuida

VENTAJAS

Existen cuatro ventajas del procesamiento de base de datos distribuido.La primera, puede dar como resultado un mejor rendimiento que el que se obtiene por un procesamiento centralizado. Los datos pueden colocarse cerca del punto de su utilización, de forma que el tiempo de comunicación sea más corto. Varias computadoras operando en forma simultánea pueden entregar más volumen de procesamiento que una sola computadora.

Segundo, los datos duplicados aumentan su confiabilidad. Cuando falla una computadora, se pueden obtener los datos extraídos de otras computadoras. Los usuarios no dependen de la disponibilidad de una sola fuente para sus datos. Una tercera ventaja es que los sistemas distribuidos pueden variar su tamaño de un modo más sencillo. Se pueden agregar computadoras adicionales a la red conforme aumentan el número de usuarios y su carga de procesamiento. A menudo es más fácil y más barato agregar una nueva computadora más pequeña que actualizar una computadora única y centralizada. Después, si la carga de trabajo se reduce, el tamaño de la red también puede reducirse.

Por último, los sistemas distribuidos se pueden adecuar de una manera más sencilla a las estructuras de la organización de los usuarios.

Page 6: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

DESVENTAJAS

Las primeras dos desventajas de las bases de datos distribuidas son las mismas que las dos primeras ventajas. Primero, el rendimiento puede ser peor para el procesamiento distribuido que para el procesamiento centralizado. Depende de la naturaleza de la carga de trabajo, la red, el DDBMS y las estrategias utilizadas de concurrencia y de falla, así como las ventajas del acceso local a los datos y de los procesadores múltiples, ya que éstos pueden serabrumados por las tareas de coordinación y de control requeridas. Tal situación es probable cuando la carga de trabajo necesita un gran número de actualizaciones concurrentes sobre datos duplicados, y que deben estar muy distribuidos.

Segundo, el procesamiento de base de datos distribuida puede resultar menos confiable que el procesamiento centralizado. De nuevo, depende de la confiabilidad de las computadoras de procesamiento, de la red, del DDBMS, de las transacciones y de las tasas de error en la carga de trabajo. Un sistema distribuido puede estar menos disponible que uno centralizado. Estas dos desventajas indican que un procesamiento distribuido no es ninguna panacea. A pesar de que tiene la promesa de un mejor rendimiento y de una mayor confiabilidad, tal promesa no está garantizada.

Segundo, los datos duplicados aumentan su confiabilidad. Cuando falla una computadora, se pueden obtener los datos extraídos de otras computadoras. Los usuarios no dependen de la disponibilidad de una sola fuente para sus datos. Una tercera ventaja es que los sistemas distribuidos pueden variar su tamaño de un modo más sencillo. Se pueden agregar computadoras adicionales a la red conforme aumentan el número de usuarios y su carga de procesamiento. A menudo es más fácil y más barato agregar una nueva computadora más pequeña que actualizar una computadora única y centralizada. Después, si la carga de trabajo se reduce, el tamaño de la red también puede reducirse.

Page 7: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

4. Cuales son los niveles de Transparencia de la Base de Datos Distribuida

TRANSPARENCIA DE LOCALIZACIÓN Las transacciones necesitan ser independientes de la localización de un elemento de datos particular. De no ser así, las cuestiones de localización complicarían la lógica de la transacción. Considere usted la empresa manufacturera que se utilizó en la Figura 2. Si el gerente de inventarios desea mover refrigeradores de la Planta A a la Planta B, deberán modificarse dos registros de inventario. Suponga que los datos involucrados no están duplicados; pero que datos puedan estar almacenados en una computadora en cualquiera de las dos localizaciones. Si el programa que procesa esta transacción no es transparente en lo que se refiere a localización de los datos, tendrá que considerar cuatro casos: ambos registros en A, uno en A y uno en B, uno en B y el otro en A o ambos en B. La lógica de la transacción se confunde por la necesidad de considerar la localización de los datos. La lógica sería mucho más complicada para un ejemplo más complejo, en cualquier caso estas consideraciones son innecesarias e inapropiadas para un programa de aplicación.

TRANSPARENCIA DE DUPLICACIÓN Las transacciones son accesibles a la duplicación si pueden procesarse sin saber cuántas veces, o incluso si los datos están duplicados. La transacción puede actuar como si todos los datos estuvieran almacenados sólo una vez en nada más un nodo. Con la transparencia de duplicación, se pueden crear nuevos duplicados, o los duplicados existentes pueden ser eliminados, sin provocar efecto alguno sobre la transacción del usuario o el procesamiento de la consulta.

Page 8: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

TRANSPARENCIA DE CONCURRENCIA  Aunque múltiples transacciones que involucran la base de datos distribuida se lleven a cabo al mismo tiempo, los resultados de las transacciones no deberán afectarse. El DDBMS proporciona transparencia de concurrencia si los resultados de todas las transacciones concurrentes son consistentes de manera lógica con los resultados que se habrían obtenido si las transacciones se hubieran ejecutado una por una, en algún orden serial arbitrario. Expresada de otra forma, la lógica de las transacciones procesadas en forma concurrente con otras transacciones deberá de ser la misma que si la transacción se hubiera procesado sola.

TRANSPARENCIA DE FALLAS La cuarta meta del DDBMS es proporcionar transparencia de fallas, lo que significa que las transacciones sean procesadas de un modo correcto a pesar de fallas en la transacción, en el DDBMS, en la red y en la computadora. Frente a una falla, las transacciones deberán ser atómicas, esto es, ya sea que se procesen todas las transacciones o ninguna de ellas. Además, una vez comprometidos los resultados de las transacciones, serán permanentes. La transparencia contra fallas es la meta más difícil entre las cuatro. Parte del problema es que existen muchos tipos distintos de fallas. En un extremo del espectro habrá un nodo que jamás falla, a veces llamado un nodo perfecto. En el otro extremo aparece un nodo que falla de una manera del todo desconocida. Un nodo como éste pudiera comunicar basura a través de la red, o bien, en razón de su falla, pudiera enviar acciones inapropiadas, pero con formato valido por la red. Nodos como éstos se conocen como nodos desquiciados.

Page 9: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

5. Cuales son las funciones de un Sistema manejador de Base de Datos Distribuido

Es un programa 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. FuncionesCrear y organizar la base de datosEstablecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser acercados rápidamenteManejar los datos de acuerdo a las peticiones de los usuariosRegistrar el uso de las bases de datos. Interacción con el manejador de archivos Esto es a través de las sentencias dml al comando de el sistema de archivos. Respaldo y recuperación. Consiste en contar con mecanismos implantados que permiten la recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema de base de datos. Control de concurrencia. Consiste en controlar la interacción entre los usuarios concurrentes para no afectar la inconsistencia de los datos  Seguridad he integridadConsiste en contar con mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos

Page 10: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

6. Cual es la Metodología del procesamiento de consultas Distribuidas

Primeramente se debe de contar con heterogeneidad de los datos, para que puedan ser usados para formular consultas. Tenemos los siguientes ejemplos:

BD CENTRALIZADA

BD DISTRUIBUIDAAsí como también necesitamos contar con:

-Localización de los datos para generar reglas heurísticas-Descomposición de consultas en paralelo en cada nodo-Reducir la cantidad de datos a transferir en la red

Page 11: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

7. Cuales son las estrategias de procesamiento de consultas distribuidas

Contamos con la estrategia de Reformulación de consultas, que nos sirve para encontrar que la información que nos va a proveer sea solo la que se le pidió por la fuente También se cuenta con la estrategia de descomposición de las fuentes, que consiste en que según las fuentes que pidan cierto tipo de datos sean las atendidas con mayor velocidad

Page 12: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

8.Que son los arboles de consultaÁrbol de operadores de una consulta Una manera de representar la secuencia en que se realizarán las operaciones de una consulta, es un árbol de operadores. Considérese la siguiente consulta: 

PJ SNUM SL área = “Norte” (Prevee JNNumdepto = Numdepto Depto  Un ejemplo de un árbol de operadores para la consulta sería el que aparece en la figura siguiente. Obsérvese que las hojas del árbol son relaciones globales y cada nodo representa una operación binaria o unitaria. Un árbol define un orden parcial en como las operaciones deben ser aplicadas para obtener el resultado deseado en la consulta, esto es, de abajo hacia arriba. Un orden diferente de operaciones -correspondería un árbol también diferente, obteniendo una transformación equivalente.

En este punto se debe de considerar un aspecto muy importante en el procesamiento de las consultas, ésta no es la única forma de realizar la consulta. Existen varias formas de realizar la misma consulta, esto es, se podría variar el orden de ejecución de las operaciones o reemplazarlas por un conjunto de operaciones equivalentes.

Page 13: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

9. Cuales son los métodos de ejecución del Join

Join en bucles anidados por índices. Este algoritmo simplemente sustituye las búsquedas en tablas por búsquedas en índices, esto puede ocurrir siempre y cuando exista un índice en el atributo de join de la relación interna. Este método se utiliza cuando existen índices así como cuando se crean índices temporales con el único propósito de evaluar la reunión. El costo de este algoritmo se puede calcular como sigue: para cada tupla de la relación externa r se realiza una búsqueda en el índice de s para recuperar las tuplas apropiadas, sea c = costo de la búsqueda en el índice, el cual se puede calcular con cualquiera de los algoritmos A3, A4 o A5. Entonces el costo del join es ; si hay índices disponibles para el atributo de join en ambas relaciones, es conveniente utilizar la relación con menos tuplas.

Join por mezcla. El algoritmo de Join por mezcla se pude utilizar para calcular un Join natural o un equi-join. Para tales efectos ambas relaciones deben estar ordenadas por los atributos en común. Este algoritmo asocia un puntero a cada relación, al principio estos punteros apuntan al inicio de cada una de la relaciones. Según avanza el algoritmo, el puntero se mueve a través de la relación. De este modo se leen en memoria un grupo de tuplas de una relación con el mismo valor en los atributos de la reunión.

Page 14: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

Join por asociación híbrida. El algoritmo de join por asociación híbrida realiza otra optimización; es útil cuando el tamaño de la memoria es relativamente grande paro aún así, no cabe toda la relación s en memoria. Dado que el algoritmo de join por asociación necesita max +1 bloques de memoria para dividir ambas relaciones se puede utilizar el resto de la memoria (M – max – 1 bloques) para guardar en la memoria intermedia la primera partición de la relación s, esto es , así no es necesaria leerla ni escribirla nuevamente y se puede construir un índice asociativo en . Cuando r se divide, las tuplas de tampoco se escriben en disco; en su lugar, según se van generando, el sistema las utiliza para examinar el índice asociativo en y así generar las tuplas de salida del join. Después de utilizarlas, estas tuplas se descartan, así que la partición no ocupa espacio en memoria. De este modo se ahorra un acceso de lectura y uno de escritura para cada bloque de y . Las tuplas de otras particiones se escriben de la manera usual para reunirlas más tarde.

Join Complejos. Los join en bucle anidado y en bucle anidado por bloques son útiles siempre, sin embargo, las otras técnicas de join son más eficientes que estas, pero sólo se pueden utilizar en condiciones particulares tales como join natural o equi-join. Se pueden implementar join con condiciones más complejas tales como conjunción o disyunción Dado un join de las forma se pueden aplicar una o más de las técnicas de join descritas anteriormente en cada condición individual , el resultado total consiste en las tuplas del resultado intermedio que satisfacen el resto de las condiciones. Estas condiciones se pueden ir comprobado según se generen las tuplas de . La implementación de la disyunción es homóloga a la conjunción. 

Page 15: ACTIVIDAD 2 BASE DE DATOS 2 LEONARDO AQUINO

Outer Join (Join externos) Un outer join es una extensión del operador join que se utiliza a menudo para trabajar con la información que falta. Por ejemplo, suponiendo que se desea generar una lista con todos los choferes y los autos que manejan (si manejan alguno) entonces se debe cruzar la relación Chofer con la relación Movil. Si se efectúa un join corriente se perderán todas aquellas tuplas que pertenecen a los choferes, en cambio con un outer join se pueden desplegar las tuplas resultado incluyendo a aquellos choferes que no tengan a cargo un auto. El outer join tiene tres formas distintas: por la izquierda, por la derecha y completo. El join por la izquierda ( )toma todas las tuplas de la relación de la izquierda que no coincidan con ninguna tupla de la relación de la derecha , las rellena con valores nulos en los demás atributos de la relación de la derecha y las añade al resultado del join natural. Un outer join por la derecha ( ) es análogo al procedimiento anterior y el outer join completo es aquel que efectúa ambas operaciones.