jueves, 7 de noviembre de 2013

CLASES Y ARQUITECTURA DE SGBDD




CLASES Y ARQUITECTURA DE UNA SGBDD

La arquitectura de un sistema de base de datos está influenciada en gran medida por el sistema informático subyacente en el que se ejecuta el sistema de base de datos. En la arquitectura de un sistema de base de datos se reflejan aspectos como la conexión en red, el paralelismo y la distribución

LOCAL SCHEMA.-

Esquema conceptual local, continua operando de forma autónoma y está bajo el control de su admón. de BD local. Este podrá tener sus vistas externas pero no se consideran para la Federación Component Schema.

Cada esquema local tiene su correspondiente componente, es decir, su traducción a un modelo de datos común ya que los modelos involucrados puede ser de distinto tipo (relacional, OO, etc...)

EXPORT SCHEMAS.-

Son los esquemas que los admón. locales ponen disponibles a la federación, es decir, lo que se comparte.

Define la información que puede ser accedida por consultas y transacciones globales Global Schema:

·         Uno o varios recogen el modelo del conjunto. A veces

·         Se requieren varios porque no es fácil recoger toda la

·         Heterogeneidad semántica de los esquemas.

EXTERNAL SCHEMAS.-

Vista sobre esquema global que contiene la Información que un usuario necesita para una aplicación específica.
 
 
DISEÑO DE BDD Y LOS ESQUEMA DE FRAGMENTACION.-
Hay que decidir en qué nodos deben residir los datos y las aplicaciones que trabajan con los datos:
  • Si existen ya las bases de datos, hay que integrarlas para obtener el esquema global.
  • Si no existen, hay que definir el esquema conceptual global y fragmentar y asignar a los nodos.
TIPO DE FRAGMENTACIÓN.-
Dado que una relación se corresponde esencialmente con una tabla y la cuestión consiste en dividirla en fragmentos menores, inmediatamente surgen dos alternativas lógicas para llevar a cabo el proceso: la división horizontal y la división vertical.
GRADO DE FRAGMENTACIÓN.-
Cuando se va a fragmentar una base de datos deberíamos sopesar qué grado de fragmentación va a alcanzar, ya que éste será un factor que influirá notablemente en el desarrollo de la ejecución de las consultas.
TIPOS Y FRAGMENTACIÓN.-
Objetivos de la fragmentación
El objetivo de la fragmentación consiste en dividir la relación en un conjunto de relaciones más pequeñas tal que algunas de las aplicaciones de usuario sólo hagan uso de un fragmento.
Sobre este marco, una fragmentación óptima es aquella que produce un esquema de división que minimiza el tiempo de ejecución de las aplicaciones que emplean esos fragmentos.
La unidad de fragmentación ideal no es la tabla sino una subdivisión de ésta.
Esto es debido ha:
·      Las aplicaciones usan vistas definidas sobre varias relaciones, es decir, se forman a partir de "trozos" de varias tablas. Si conseguimos que cada una de las vistas esté definida sobre subtablas locales (o en su defecto lo más "cerca" posible) a cada aplicación, es de esperar un incremento en el rendimiento.
Si múltiples vistas de diferentes aplicaciones están definidas sobre una tabla no fragmentada, se tiene:
·         Si la tabla no está replicada entonces se produce generación de tráfico por accesos remotos.
·         Si la tabla está replicada en todos o algunos de los sitios donde residen cada una de las aplicaciones entonces la generación de tráfico innecesario es producida por la necesidad de la actualización de las copias.
VENTAJAS.-
Al descomponer una relación en fragmentos (unidades de distribución):
  • Permitimos el procesamiento concurrente de transacciones ya que no se bloquean tablas enteras sino subtablas, por lo que dos consultas pueden acceder a la misma tabla a fragmentos distintos.
  •  
  • Permitimos la paralelización de consultas al poder descomponerlas en subconsultas, cada una de la cuales trabajará con un fragmento diferente incrementándose así el rendimiento.

DESVENTAJAS.-
Degradación del rendimiento en vistas definidas sobre varios fragmentos ubicados en sitios distintos (es necesario realizar operaciones con esos trozos lo cual es costoso)
El control semántico se dificulta y el rendimiento se degrada debido que la verificación de restricciones de integridad (claves ajenas, uniques, etc) implican buscar fragmentos en múltiples localizaciones.
Por lo tanto división y ubicación de los fragmentos no es trivial.
TIPOS DE FRAGMENTACIÓN DE DATOS
Existen tres tipos de fragmentación:
  • Fragmentación horizontal
  • Fragmentación vertical
  • Fragmentación híbrida
 
Para que una la fragmentación de una relación sea correcta debe satisfacer las siguientes condiciones:
Condición de completitud.
La descomposición de una relación R en los fragmentos R1, R2, ..., Rn es completa si y solamente si cada elemento de datos en R se encuentra en alguno de los fragmentos Ri.
Condición de Reconstrucción.
La descomposición de una relación R en los fragmentos R1, R2, ..., Rn es completa si y solamente si cada elemento de datos en R se encuentra en alguno de los fragmentos Ri.
Condición de Fragmentos Disjuntos.
Si la relación R se descompone en los fragmentos R1, R2, ..., Rn, y el dato di está en Rj, entonces, no debe estar en ningún otro fragmento Rk (k?j).
 
FRAGMENTACIÓN VERTICAL DE UNA BASE DE DATOS DISTRIBUIDA


La fragmentación vertical de una relación R produce una serie de fragmentos R1, R2, ..., Rr cada uno de los cuales contiene un subconjunto de los atributos de R así como la clave primaria de R.
 FRAGMENTACIÓN HORIZONTAL DE UNA BASE DE DATOS DISTRIBUIDA


La fragmentación horizontal de una relación R produce una serie de fragmentos R1, R2, ..., Rr, cada uno de los cuales contiene un subconjunto de las tuplas de R que cumplen determinadas propiedades (predicados)
Fragmentación horizontal primaria y derivada
La Fragmentación Horizontal Primaria (FHP) de una relación se obtiene usando predicados que están definidos en esa relación.
La Fragmentación Horizontal Derivada (FHD) por otra parte, es el particionamiento de una relación como resultado de predicados que se definen en otra relación.
 FRAGMENTACIÓN MIXTA DE UNA BASE DE DATOS DISTRIBUIDA
Consiste en aplicar las operaciones de fragmentación vistas anteriormente de manera recursiva, satisfaciendo las condiciones de correctos cada vez que se realiza la fragmentación.
La reconstrucción puede ser obtenida aplicando las reglas de reconstrucción en orden inverso.
De esta forma podemos fragmentar nuestra tabla global en los pedazos que queramos y como queramos.
 
Autores:
Karen Lisbeth Rodriguez Arce.
Dannes Zambrano Mejía.
 
 
 
 



 

 

viernes, 18 de octubre de 2013

ESQUEMA DE FRAGMENTACIÓN DE BASES DE DATOS DISTRIBUIDAS-FRAGMENTACIÓN HORIZONTAL-FRAGMENTACIÓN VERTICAL-FRAGMENTACIÓN MIXTA-EJEMPLOS



ESQUEMA DE FRAGMENTACIÓN DE BASES DE DATOS DISTRIBUIDAS
El objetivo de la fragmentación es encontrar un nivel de particionamiento adecuado en el rango que va desde tuplas o atributos hasta relaciones completas. Cada relación global puede ser dividida en porciones que no se solapen llamados fragmentos. El mapa resultante se denomina esquema de fragmentación. Una relación global puede dividirse en n fragmentos y un fragmento sólo puede pertenecer a una relación global. El problema de fragmentación se refiere al particionamiento de la información para distribuir cada parte a los diferentes sitios de la red. Inmediatamente aparece la siguiente pregunta: ¿Cuál es la unidad razonable de distribución?. Se puede considerar que una relación completa es lo adecuado ya que las vistas de usuario son subconjuntos de las relaciones. Sin embargo, el uso completo de relaciones no favorece las cuestiones de eficiencia sobre todo aquellas relacionadas con el procesamiento de consultas.







FRAGMENTACIÓN HORIZONTAL
Agrupa las tuplas de una relación que son utilizadas de manera colectiva por las transacciones de mayor importancia. Los fragmentos horizontales se generan especificando un predicado. Predicado: operación de SELECCIÓN del álgebra relacional que agrupa tuplas con propiedad común.




FRAGMENTACIÓN VERTICAL
Agrupa los atributos de una relación que son utilizadas de manera colectiva por las transacciones de mayor importancia. Utiliza la operación de PROYECCIÓN. Los fragmentos verticales se determinan estableciendo la: Afinidad de un atributo con otro. Se puede utilizar una matriz que muestre el número de acceso que se refiere a cada pareja de atributos.



FRAGMENTACIÓN MIXTA
Fragmento Mixto Está compuesto por un fragmento horizontal que se fragmenta a continuación verticalmente o viceversa. Utiliza operaciones de selección y proyección del algebra relacional. Software Sistema manipulador 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 podría consistir de una colección 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 libre. Sistema manipulador de base de datos (DBMS) 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. Nodo Un nodo es una computadora que ejecuta un DTM o un DBM o ambos. Un nodo de transacción ejecuta un DTM y un nodo de base de datos ejecuta un DBM

EJEMPLOS

Autores:
Rodriguez Arce Karen
Zambrano Mejia Dannes

BASE DE DATOS DISTRIBUIDAS


Bases de datos distribuidas


Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos e interconectados por una red de comunicaciones.
Dichas BDD tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) 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 acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local.

 

 

Ventaja de bases de datos distribuida.-
La principal ventaja de los sistemas distribuidos es la capacidad de compartir y acceder a la información de una forma fiable y eficaz.
Desventaja de bases de datos distribuida.-
La desventaja principal de los sistemas distribuidos es la mayor complejidad que se requiere para garantizar una coordinación adecuada entre localidades

Fiabilidad y disponibilidad.-
Si se produce un fallo en una localidad de un sistema distribuido, es posible que las demás localidades puedan seguir trabajando.

 Integración de datos simplificada


Altova  MapForce es una avanzada aplicación de integración de datos compatible con prácticamente cualquier formato, ya sean datos XML, bases de datos, archivos planos, EDI, Excel, XBRL o servicios web. Gracias a sus funciones adicionales para la automatización de integraciones de datos, MapForce es un producto intermedio ideal para conectar aplicaciones distribuidas en cualquier arquitectura empresarial, ya sea web o en la nube.
A menudo los procesos de integración de datos pueden resultar abrumadores, lo cual suele agravarse por la gran cantidad de aplicaciones de integración a gran escala disponibles en el mercado, que son costosas y complejas. MapForce alivia este problema otentes funciones de integración de datos en una sencilla interfaz gráfica.
MapForce permite asociar sus estructuras de datos de origen y destino con gran facilidad, mediante operaciones de arrastrar y colocar.
 
Aqui podremos observar mas sobre  la integracion de datos simplificada.


Sistemas de bases de datos distribuidas

Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos (pej. un servidor corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) 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 acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local.


 Aqui podremos observar mas sobre un sistema de base de datos distyribuidas
 http://www.youtube.com/watch?v=r_niGkgJfUc


 Ambiente con multiples procesadores

La ejecución de más de un programa a la vez en una computadora. Los sistemas operativos multitarea (Windows, OS/2, Unix y otros) permiten que múltiples operaciones se ejecuten simultáneamente. Sus mayores beneficios se obtienen cuando se realizan tareas largas y complejas (como consultar una base de datos). La cantidad de programas que pueden ejecutarse depende de la memoria disponible, de la velocidad de la CPU y de la eficiencia del sistema operativo.

Sistema gestor de base de datos


Un Sistema de Gestión de Bases de Datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto Los SGBD también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permite presentar la información de la base de datos en variados formatos. La mayoría de los SGBD incluyen un generador de informes. También puede incluir un módulo gráfico que permita presentar la información con gráficos y tablas .

Aqui podremos observar mas sobre el sistema gestor de base de datos