Está en la página 1de 9

BASE DE DATOS DISTRIUIDOS

Es una coleccin de datos que pertenecen lgicamente a un slo sistema, pero se encuentra fsicamente esparcido en varios sitios de la red.
Un sistema de base de datos distribuidos se compone de un conjunto de sitios, conectados entre s mediante algn tipo de red de comunicaciones.
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 sitios
OBJETIVOS
Operaciones Locales: Son aquellas operaciones que un nodo realiza sobre su propia base de datos, en una base de datos distribuidas estas son las consultas ms deseadas, porque son datos que se generan en la
misma estacin de trabajo.
Operaciones Globales: Suceden cuando accede a la informacin de otro, este es el principal objetivo de las bases de datos distribuidas, pero son las operaciones ms complejas por que existen factores de riesgo
como la seguridad o en trfico en la red.
Transparencia de ubicacin. Permite a los usuarios tener acceso a los datos sin que tenga conocimiento de la ubicacin de stos.
Transparencia de duplicacin. Para que la transparencia de duplicacin sea posible, los administradores de transacciones deben traducir las solicitudes de procesamiento de transaccin en acciones para el
administrador de datos.
Transparencia de concurrencia. Cuando varias transacciones se ejecuten al mismo tiempo, los resultados de las transacciones no debern afectarse.
Transparencia de fallas. Significa que a pesar de fallas las transacciones sean procesadas de un modo correcto. Frente a una falla, las transacciones deben ser atmicas, significa que se procesen todas o ninguna
de ellas.
Localidad del procesamiento. Los datos se deben distribuir lo ms cerca posible de las aplicaciones que los usan para maximizar la localidad del procesamiento, este principio responde a minimizar el acceso
remoto a los datos.
Particionado de la Base de Datos. La base de datos se distribuye de modo que no haya solapamiento o duplicacin de los datos mantenidos en las diferentes localidades, como no hay duplicaciones de los datos,
se evitan los costos asociados con el almacenamiento y mantenimiento de datos redundantes.
Fragmentacin de datos. Consiste en subdividir las relaciones y distribuirlas entre los sitios de la red, tiene como objetivo buscar formas alternativas de dividir una las instancias de relaciones en otras ms
pequeas.
VENTAJAS
1.- Compartir informacin y control sobre los datos.
2.- Disponibilidad de la informacin.
3.- Permite romper barreras geogrficas.
4.- Modularidad, se pueden modificar, agregar o quitar sistemas de bases de datos distribuidas sin afectar a los dems sistemas (mdulos).
5.- Un fallo en una parte del sistema solo afectara a u n fragmento, en lugar de a toda la base de datos.
DESVENTAJAS
1.- Disponibilidad y dependencia total de la red de comunicaciones.
2.- Seguridad de la informacin.
3.- Costo del desarrollo del software.
4.- Complejidad, se debe asegurar que la base de datos sea transparente.
5.- Falta de experiencia
DISCIPLINAS DE ESTUDIO
INGENIERIA: Para conocer cono se desarrollan y que forma tendrn para implementarse
ALGEBRA: Busca establecer relaciones en base a funciones algebraicas
BASES DE DATOS: Buscan un adecuado funcionamiento de acuerdo a los principios de estas
REDES: Implementado en adecuado sistema para su funcionamiento sin concurrencia
1.4 ARQUITECTURA
Los sistemas se construyen mediante Modulos con interfaces de flujo de control y datos
Se ha descrito la arquitectura de los SGBD del ANSI/X3/SPARC EN 1975
3 niveles son: Nivel Interno o Fsico, -NF-; Nivel Conceptual, - NC-, y Nivel Externo o Lgico, -NL.
El Nivel Fsico se encarga de "engranar" con el software ms interno de cada mquina
El Nivel Conceptual define el resultado del diseo de la BD,

Diseo del "esquema conceptual" el cual describe la base de datos integrada
Diseo "fsico de la base de datos", esto es, mapear el esquema conceptual a las reas de almacenamiento y determinar los mtodos de acceso a las bases de datos.
Diseo de la fragmentacin, este se determina por la forma en que las relaciones globales se subdividen en fragmentos horizontales, verticales o mixtos.
Diseo de la asignacin de los fragmentos, esto se determina en la forma en que los fragmentos se mapean a las imgenes fsicas, en esta forma, tambin se determina la solicitud de fragmentos.
OBJETIVO DEL DISEO DE DISTRIBUCION
Un mejor rendimiento y distribucion de los datos a guardar en una BDD.
En el diseo de la distribucin de los datos, se deben de tomar en cuenta los siguientes objetivos:
Procesamiento local.
Distribucin de la carga de trabajo.
Costo de almacenamiento y disponibilidad.
Diccionario de datos
Herramienta que sirve para mantener informacin relativa al hardware y software, la documentacin y los usuarios del sistema, informacin pertinente a la administracin del sistema y datos acerca de las relaciones.
TIPOS
Diccionario de datos activo
Diccionario de datos pasivo
CONTENIDO
Nombres de las relaciones
Atributos y dominios de la relacin
Nombres y definicin de vistas definidas en la BD
Restricciones de integridad de cada relacion (claves)
Informacin de usuarios
Nombres de los usuarios autorizados
MINERIA DE DATOS
Conjunto de tcnicas y tecnologas que permiten explorar grandes BD, de manera automtica o semiautomtica, con el fin de encontrar patrones repetitivos o reglas que expliquen el comportamiento de los datos en un
determinado contexto.
PORQUE MINERIA DE DATOS
Recoleccin y disponibilidad de los datos
Fuentes principales de datos abundantes
Negocios: Internet, comercio electrnico, transacciones,
Ciencia: Percepcin remota, bioinformtica, simulacin cientfica
ETAPAS
Determinacin(delimitacin ) de los objetivos
Preprocesamiento de los datos.
Se refiere a la seleccin, la limpieza, reduccin y transformacin de las BD
Determinacin del modelo
Realizar anlisis estadstico de los datos y visualizarlos grficamente para tener una primera aproximacin.
Anlisis de los resultados
2.3 Niveles de Transparencia.
En sistemas de bases de datos distribuidos el propsito fundamental de la transparencia es proporcionar independencia de datos en el ambiente distribuido.
ASPECTOS RELACIONADOS CON LA TRANSPARENCIA
Transparencia en el manejo de la red de comunicacin.
Transparencia en el manejo de copias repetidas.
Transparencia en la distribucin o fragmentacin de la informacin.
TRANSPARENCIA DE LOCALIZACION
El comando que se usa es independiente de la ubicacin de los datos en la red y del lugar en donde la operacin se lleve a cabo.
TRANSPARENCIA DE FRAGMENTACIN
La consulta global del usuario se debe transformar en varias consultas sobre segmentos.
TRNASPARENCIA DE REPLICA
Las copias de los datos se deben almacenar en varios sitios para mejorar la disponibilidad, rendimiento y fiabilidad.
FRAGMENTACIN HIBRIDA Y DISTRIBUCIN DE DATOS
FRAGMENTACION HIBRIDA
Cuando al proceso de fragmentacin vertical le sigue una horizontal, es decir, se fragmentan horizontalmente los fragmentos verticales resultantes, se habla de la fragmentacin Hibrida.
Una caracterstica es la generacin de rboles que representan la estructura de fragmentacin
DISTRIBUCION DE DATOS
Es el posicionamiento de la data en el sistema y el esquema bajo el cul lo desea hacer. Para esto existen cuatro alternativas principales.
Centralizada: Es muy similar al modelo de Cliente/Servidor en el sentido que la BDD est centralizada en un lugar y los usuarios estn distribuidos
Replicadas: consiste en que cada nodo debe tener su copia completa de la base de datos.
Particionadas: Este modelo consiste en que solo hay una copia de cada elemento, pero la informacin est distribuida a travs de los nodos.
Hbrida: Este esquema simplemente representa la combinacin del esquema de particin y replicacin. Se particiona la relacin y a la vez los fragmentos estn selectivamente replicados a travs del sistema de BDD.
DISEO DE BASE DE DATOS
2.4 FRAGMENTACION DE DATOS
El objetivo de la fragmentacin es encontrar un nivel de particionamiento adecuado en el rango que va desde tuplas o atributos hasta relaciones completas.
Cada relacin global puede ser dividida en porciones llamados fragmentos.
FRAGMENTACION HORIZONTAL
1.- el nmero de tuplas de una relacin que puede ser accesadas por una consulta de los usuarios y que satisface el termino del predicado utilizado.
2.- La frecuencia de acceso a datos.
FRAGMENTACION VERTICAL
Dividir la relacin en un conjunto de relaciones ms pequeas
Se basa en los atributos de la relacin para realizar la divisin, es decir: la subdivisin de atributos en grupos. La fragmentacin es correcta si cada atributo se mapea en al menos un atributo del fragmento.
FRAGMENTACION HIBRIDA
Esta tcnica se basa en la generacin de celdas de rejilla. Qu es una celda de rejilla, podramos definirla como un fragmento horizontal y vertical simultneo. La tcnica aplica un algoritmo de fragmentacin vertical y otro
horizontal de manera concurrente sobre la relacin. Los algoritmos realizan una fragmentacin mxima, es decir, se persigue que en cada celda nicamente haya un atributo y una tupla.
ALGORITMOS DE DISTRIBUCIN DE DATOS
BENEFICIOS: la minimizacin de su tiempo de ejecucin, la maximizacin de uso de los recursos, etc. pero por su naturaleza paralela, la implementacin de un algoritmo de distribucin de datos es compleja lo que puede
originar que no cumpla con las especificaciones para las que fue diseado
El Modelo FURD, ha sido desarrollado para resolver el problema del diseo de las Bases de Datos Distribuidas, el cual esta divido en dos etapas o fases: la fragmentacin y la ubicacin de fragmentos.
La replicacin de datos es entre servidores en este caso SQL Server y desempea los siguientes roles:
Distribuidor: Servidor que contiene la base de datos para distribuir
Suscriptor: Servidores que almacenan las reproducciones y recibe las actualizaciones.
Publicacin: Procedimiento de almacenado
TIPOS DE REPLICA
INSTANTANEA
TRANSACCIONAL
DE MEZCLA
SINCORNA
ASINCRONA
METODOLOGA DEL PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS
El objetivo es convertir transacciones de usuario en instrucciones para manipulacin de datos.
procesador de consultas (query processor).
3.2 ESTRATEGIAS DE PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS
Actividades involucradas en la recuperacin de datos de la BD
Pasos del procesamiento de una consulta
1. Anlisis lxico, sintctico y validacin
Anlisis lxico
Identificar los componentes (lxicos) en el texto de la consulta (SQL)
Anlisis sintctico
Revisar la sintaxis de la consulta (correccin gramtica)
Validacin semntica
Verificar la validez de los nombres de las tablas, vistas, columnas, etc. y si tienen sentido
El Optimizador de Consultas suele combinar varias tcnicas
Las tcnicas principales son las siguientes:
Optimizacin heurstica
Ordenar las operaciones de la consulta para incrementar la eficiencia de su ejecucin
Estimacin de costes
Estimar sistemticamente el costo de cada estrategia de ejecucin y
Elegir el plan (estrategia) con el menor costo estimado
PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS
COSTE DE UNA CONSULTA
El coste, en tiempo de ejecucin, de una consulta a una base de datos depende de:
Tiempo de acceso al sistema de E/S (90%)
Tiempo de procesamiento de CPU (10%)
El tiempo de acceso al sistema de E/S depende de:
Volumen de datos: nmero y tamao de las tuplas, tanto de las relaciones involucradas como de los resultados intermedios
Organizacin fsica: ndices, tablas,
Tamao de los buffers en memoria para almacenar los resultados intermedios
HEURISTICA DE OPTIMIZACION DE CONSULTAS
1 Realizar las selecciones tan pronto como sea posible.
Reduce el nmero de tuplas de los resultados intermedios.
2 Realizar las selecciones sobre atributos indexados antes que sobre los no indexados.
Reduce las operaciones de E/S al usar los ndices y se ejecutan mucho ms rpido. Aplicar la cascada de selecciones si es necesario.
3 Realizar las proyecciones tan pronto como sea posible.
Reduce el nmero de atributos de los resultados
intermedios.
4. Realizar las operaciones de seleccin y join ms restrictivas primero.
Reduce el nmero de tuplas de los resultados intermedios. Aplicar asociatividad si es necesario.
5. Eliminar proyecciones redundantes
Reduce el nmero de atributos de los resultados intermedios. Aplicar la cascada de proyecciones.
6. Usar DISTINCT slo cuando sea imprescindible.
Evita tener que comparar resultados intermedios para detectar duplicados y eliminarlos del resultado
Combinacin interna (INNER JOIN)
Con esta operacin se calcula el producto cruzado de todos los registros
cada registro en la tabla A es combinado con cada registro de la tabla B
slo permanecen aquellos registros en la tabla combinada que satisfacen las condiciones que se especifiquen
Este es el tipo de JOIN ms utilizado, por lo que es considerado el tipo de combinacin predeterminado.
CFRUZADA
Presenta el producto cartesiano de todos los registros de las dos tablas.
El cdigo SQL para realizar este producto cartesiano enuncia las tablas que sern combinadas, pero no incluye algn predicado que filtre el resultado.
Combinacin externa (OUTER JOIN)
Mediante esta operacin no se requiere que cada registro en las tablas a tratar tenga un registro equivalente en la otra tabla. El registro es mantenido en la tabla combinada si no existe otro registro que le
corresponda.
De tabla izquierda (LEFT OUTER JOIN o LEFT JOIN)
La sentencia LEFT OUTER JOIN retorna la pareja de todos los valores de la tabla izquierda con los valores de la tabla de la derecha correspondientes, o retorna un valor nulo NULL en caso de no correspondencia.
De tabla derecha (RIGHT OUTER JOIN o RIGHT JOIN)
La sentencia RIGHT OUTER JOIN retorna la pareja de todos los valores de la tabla derecha con los valores de la tabla de la izquierda correspondientes, o retorna un valor nulo NULL en caso de no correspondencia.


4.1 ESTRUCTURA DE TRANSACCIONES Y TRANSACCIONES DISTRIBUIDOS
Una transaccin: es una secuencia de una o ms operaciones agrupadas como una unidad.
El inicio y el final de la transaccin definen los puntos de consistencia de la base de datos. Si una accin de la transaccin no se puede ejecutar, entonces ninguna accin dentro de la secuencia que conforma la transaccin
tendr efecto.
Propiedades de las transacciones
ATOMICIDAD: es la propiedad que asegura que una operacin se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias.
CONSISTENCIA en un sistema distribuido, tales como una memoria compartida distribuida o almacenes de datos distribuido, tales como una base de datos, sistema de archivos.
AISLAMIENTO : es un mecanismo para ejecutar programas con seguridad y de manera separada. A menudo se utiliza para ejecutar cdigo nuevo, o software de dudosa confiabilidad proveniente de tercero
DURABILIDAD: Una vez una transaccin se ejecuta exitosamente y realiza cambios sobre el sistema, estos cambios nunca se deben perder a causa de fallas en el sistema.
TIPO DE TRANSACCIONES
reas de aplicacin. En primer lugar, las transacciones se pueden ejecutar en aplicaciones no distribuidas. Las transacciones que operan en datos distribuidos se les conoce como transacciones distribuidas.
Tiempo de duracin. Tomando en cuenta el tiempo que transcurre desde que se inicia una transaccin hasta que se realiza un commit o se aborta, las transacciones pueden ser de tipo batch o en lnea.
Batch: es la ejecucin de un programa sin el control o supervisin directa del usuario (que se denomina procesamiento interactivo.
COMMIT :finaliza una transaccin de base de datos.
Estructura. Considerando la estructura que puede tener una transaccin se examinan dos aspectos: si una transaccin puede contener a su vez sub-transacciones o el orden de las acciones de lectura y escritura
dentro de una transaccin.
TRANSACCIONES DISTRIBUIDAS
Una transaccin distribuida es aquella que accede a datos en distintos nodos de un sistema distribuido.

Modelos de transacciones distribuidas:

Transacciones planas (flat):
Una transaccin se extiende a un nmero arbitrario de nodos.

Transacciones anidadas (nested):

Una transaccin se estructura en una jerarqua. Cada vez que se mueve a un nuevo nodo lo hace en un nuevo nivel de la jerarqua.
4.2 CONTROL DE TRANSACCIONES
El nivel de concurrencia, el nmero de transacciones activas, es probablemente el parmetro ms importante en sistemas distribuidos.
Si no se hace un adecuado control de concurrencia, se pueden presentar dos anomalas. En primer lugar, se pueden perder actualizaciones provocando que los efectos de algunas transacciones no se reflejen en la base de
datos. En segundo trmino, pueden presentarse recuperaciones de informacin inconsistentes.
Seriabilidad en smdb distribuidas:
la calendarizacin de la ejecucin de transacciones en un nodo conocido como calendarizacin local y la calendarizacin global de las transacciones en el sistema.
Para que las transacciones globales sean serializables se deben satisfacer las siguientes condiciones:
1. cada historia local debe ser serializable, y dos operaciones en conflicto deben estar en el mismo orden relativo en todas las historias locales donde las operaciones aparecen juntas.
2. La segunda condicin simplemente asegura que el orden de serializacin sea el mismo en todos los nodos en donde las transacciones en conflicto se ejecutan juntas.
4.2.2 ALGORITMO DE CONTROL DE CONCURRENCIA
Concurrencia: se refiere a la capacidad de los Sistemas de Administracin de Base de Datos, de permitir que mltiples procesos sean ejecutados al mismo tiempo, y que tambien puedan interactuar entre s.
tipo de sincronizacin. Esto resulta en dos clases:
- Aquellos algoritmos que estn basados en acceso mutuamente exclusivo a datos compartidos (candados o bloqueos).
- Aquellos que intentar ordenar la ejecucin de las transacciones de acuerdo a un conjunto de reglas (protocolos).
ALGORITMOS DE CONTROL DE CONCURRENCIA
los basados en bloqueo
los basados en estampas de tiempo
las pruebas de validacin optimistas.
PL/SQL
Proceduran Lenguage/Structured Query Language
Lenguaje de programacin incrustado en Oracl
SQL es un lenguaje de consulta para los sistemas de bases de datos relacinales, pero que no posee la potencia de los lenguajes de programacin.
PL/SQL amplia SQL con los elementos caractersticos de los lenguajes de programacin, variables, sentencias de control de flujo, bucles.
Objetivo: interactuar con la B.D mediante la programacin.
Para poder seguir este tutorial correctamente necesitaremos tener los siguientes elementos:
Una instancia de ORACLE 8i o superior funcionando correctamente.
Herramientas cliente de ORACLE, en particular SQL*Plus
Haber configurado correctamente una conexin a ORACLE.
PL/SQL no es CASE-SENSITIVE, es decir, no diferencia maysculas de minsculas como otros lenguajes de programacin como C o Java.
-- Linea simple
/*
conjunto de lneas
*/

También podría gustarte