Download Descarga

Document related concepts

Base de datos distribuida wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Base de datos wikipedia , lookup

NewSQL wikipedia , lookup

Transcript
BASES DE DATOS DISTRIBUIDAS
Base de Datos II
Definición
Consiste en múltiples
bases de datos
independientes que funcionan en dos o más
computadoras que están conectadas y comparten
datos a través de una red.
Rectorado
Ingeniería
Humanidades
BD
Universidad
• C/d BD esta controlada por una DBMS independiente
Mantener la integridad de
sus propias bases de datos
• En la BD puede
Hardware distintos,
sistemas operativos diferentes e inclusos software de
DBMS de diferentes vendedores.
Ejemplo
Las BDD puede organizarse en varias
configuraciones.
• La más actualizada es el enfoque
Es mas poderoso y proporciona
datos a muchos clientes
Por lo general son CP
personales con interfaz
grafica
Es proporcionar la interfaz al
usuario, recopilar y desplegar
los datos y regresar los datos
al servidor adecuado
Metas y Reglas
C.J.Date reglas importantes:
1. El usuario no debe saber o no le debe importar que es
distribuida.
Ejm: El usuario debe ser capaz de
crear y ejecutar consultas como si la
BD estuviera en la computadora
2. Los datos deben almacenarse de manera
independiente de la ubicación.
Por ejemplo, si el negocio cambia debería ser fácil mover
los datos de una máquina y colocarlos en una oficina
distinta
El sistema no debe
basarse en una
computadora
central para
coordinar a las
demás
Cada computadora debería
estar en contacto con las
demás si se requiere
Lo cual mejora el
desempeño del
sistema y permite
a las demás
oficinas continuar
las operaciones
3. DBMS debe ser un hardware y sistema operativo
independiente de modo que cuando se requiera una
computadora más reciente y rápida
Ejemplo
Si dos compañías deciden fusionarse , lo ideal
seria que pudieran, tan solo instalar una
conexión de red y que todas las aplicaciones
continuarán funcionando
Ventajas y Aplicaciones
Principal: Se adecua a la forma en que funcionan las
organizaciones.
Las operaciones de negocias se encuentran divididas en
diferentes zonas geográficas, lugares y departamentos y
entre los empleados de un mismo departamento.
Existen 3 configuraciones básicas para compartir datos:
1. Una computadora central que
recopila y procesa todos los datos
2. Sistemas de cómputo
independientes en cada oficina que
no comparten datos con los demás y
3. Sistema de Base de Datos
Distribuidas
Primera opción
Los primeros sistemas de computo utilizaban esta
opción, sin embargo enviar todas las transacciones a
una computadora central tiene desventajas.
Transferir datos
a un solo lugar
es costoso
Si la computadora no
esta disponible no se
ejecuta el trabajo
(todos sufren)
Segunda opción
Es una posibilidad siempre y cuando las oficinas
rara vez necesiten compartir datos.
( Los datos compartidos se transmiten impresos, fax,
llamadas telefónicas o correo electrónico).
Los cuales representan métodos poco eficaces
para compartir datos.
Tercera opción
*La mayoría de los datos se recopila y almacena
localmente.
* Las actualizaciones y consultas se hacen localmente
*Solo los datos que necesitan compartirse se
transmiten por la red.
*Cada oficina mantiene el control y la responsabilidad
local de los datos.
*Permite recuperar e integrar datos desde cualquier
parte de la empresa según su autoridad dentro de la
misma.
*El sistema es flexible y puede expandirse en secciones
conforme crece la red ( solamente agregando otra
computadora con una BD que soporte las nuevas
operaciones, el resto del hardware y software
permanece intacto)
*Es más barato y fácil adecuarse a las necesidades de la
organización al utilizar sistemas de cómputo más
pequeños, lo que permite una variedad de
aplicaciones. Tales como:
PROCESAMIENTO DE TRANSACCIONES
Y
LAS APLICACIONES DE APOYO PARA DECISIONES
PROCESAMIENTO DE TRANSACCIONES
Cada región es responsable de recopilar los datos
a detalle de las transacciones que utiliza a diario
Ejemplo:
Una planta manufacturera tiene una base de
datos para recopilar y almacenar datos sobre
compras, relaciones humanas y producción.
La planta en forma individual utiliza la mayoría
de estos datos para administrar sus operaciones.
Como parte de la red corporativa, seria posible
recopilar datos de resumen de cada una de las plantas
y enviarse a las oficinas centrales para su análisis.
Analizar:
¿Cómo aplicaría el
procesamiento de
transacciones en este caso?
Considere una compañía consultora con oficinas en
varios países.
Creación de una BDD
• Identificar las necesidades de los usuarios
• Los desarrolladores organizan los datos mediante la
normalización
• Se crean consultas (SQL)
• Definen la interfaz de usuario
• Se crea la aplicación
Pasos adicionales para la creación de una BDD
•
•
•
•
Diseñar un plan de administración
Elegir el hardware, el vendedor de DBMS y la red.
Instalar las conexiones de red y de DBMS
Se recomienda almacenar los datos lo mas
Elegir la ubicación de los datos cerca posible del sitio sonde se utilizarán con
mayor frecuencia
• Elegir la estrategia de replicación
Replicar los datos de mayor uso de modo
que puedan almacenarse en otra
computadora e implementar estrategia para
mantenerla actualizada
• Crear un plan y una estrategia de respaldo
acceso a los usuarios y conectar la
• Crear vistas locales y sinónimos Para dar aplicaciones
en ejecución
• Realizar pruebas de tensión: cargas y fallas
Garantizar que se manejen las fallas en la red y
en computadoras remotas
Procesamiento de una consulta distribuida
El reto de las BDD se reduce a las cuestión física y
económica.
Las transferencia de redes:
• Las transferencia de unidades de disco local son mas
rápidas que las transferencias de LAN.
• Las de LAN son más rápidas que las transferencias de
WAN.
• Y las de WAN de alta velocidad son mucho mas
costosas que los otros métodos de transferencia
• Sin embargo con el avance de la tecnología las
velocidades varían ,pero las relaciones comparativas
tienden a mantenerse sin cambios.
El objetivo del procesamiento distribuido es
reducir al mínimo la transferencia de datos en redes
mas lentas y reducir los costos de las transferencias
de red, lo cual puede lograrse mediante el diseño.
Los desarrolladores deben elegir con cuidado
donde se localizarán los datos
Un inconveniente a considerar
• Si una computadora necesita recuperar datos en
distintas computadoras, el tiempo para transferir los
datos y procesar la consulta depende de la cantidad
de datos que deba transferir y de la velocidad de las
líneas de transmisión.
• El resultado dependerá de como el DBMS une los
datos de las distintas tablas. ( un método podría
llevar segundo s y otro podría llevar días)
Lo ideal: El DBMS debería evaluar la consulta, las
bases de datos utilizadas y los tiempos de
transmisión para determinar la forma más eficaz de
responder la consulta
Replicación de datos
En un sistema implica la colocación de datos
duplicados en varios servidores para reducir el tiempo y
el costo de transmisión general.
Cuando se necesita gran cantidad de información en un
lugar resulta mas eficiente REPLICAR las tablas y almacenar
copias en donde se necesite, el DBMS utiliza un
Administrador de replicaciones para determinar que
cambios deben enviarse, manejar las actualizaciones y
decidir el envío automático de la replicación
El Administrador de la base de datos puede
afinar la frecuencia con la cual se distribuyen los
cambios a las tablas, el DBMS coordina las BD para
garantizar que tengan la actualización y no perder
cambios.
Ejm: Las oficinas de mercadeo en cada lugar cuentan con
copias de los datos del cliente y de ventas de INGLATERRA
Y ESPAÑA. Casi todas las actualizaciones se basan en
datos del país local. Los administradores no necesitan
contar con los datos actuales al minuto de los otros
países, así que las tablas pueden replicarse como
actualizaciones por lote durante la noche.
Los datos
estarán a disposición de los
administradores en todos los lugares, sin que los mismos
administradores se preocupen por el tiempo de
transferencia y la empresa podrá reducir al máximo los
costos de transmisión internacional realizando
transferencia fuera de las horas pico.
• En la actualidad se utiliza un DATA WAREHOUSE
como solución para replicar los datos de la
transacciones
DATA WAREHOUSE: Base de datos
especializada que se optimiza
para consultar de administración.
Los datos se extraen de sistemas
de procesamiento de
transacciones en línea. Los datos
se limpian y optimizan para
búsqueda y análisis.
Concurrencia, bloqueos y transacciones
• Concurrencia: cuando dos personas intentan alterar
los mismos datos al mismo tiempo, lo cual se puede
evitar bloqueando una fila a la que se está a punto
de aplicar un cambio. Lo cual puede ocasionar
problemas de interbloque por que una persona
puede mantener bloquead una tabla esperando la
respuesta de otro recurso de la computadora.
• Para lo cual la DBMS puede utilizar un diagrama de
bloqueo para detectar este tipo de problemas en
cuanto surjan.
• El manejo de transacciones también puede generar
problemas, cuando los cambios deben escribir en
varias computadoras es necesario asegurarse que se
realizaron con éxito, utilizando el proceso de
CONSIGNACIÓN DE DOS FASES.
CONSIGNACIÓN DE DOS FASES
• La BD que inicia la transmisión se convierte en
coordinador, en la primera fase envía las
actualizaciones a las demás BD y les pide que
preparen una transacción.
• Cada BD debe enviar una respuesta sobre su estado
• Cada BD debe aceptar realizar todas las transacción o
recuperar los cambios (la BD debe aceptar hacer los
cambios en caso de ser necesario)
• Una vez creada la «bitácora» con éxito, la BD remota
acepta que puede manejar las actualizaciones
• Si una BD encuentra un problema y no puede realizar
la transacción, envía un mensaje de falla y el
coordinador solicita a todas las bases de datos que
recuperen sus cambios
Un buen DBMS maneja la consignación en dos
fases automáticamente, como desarrollador se
escriben instrucciones en SQL y el DBMS maneja la
comunicación para garantizar que culmino con éxito la
transacción
Gráficamente
BASE DE DATOS 1
Iniciar la transacción
1. Prepárese
para
la
consignación
¿Está de acuerdo?
2. Consigne
BASE DE DATOS 2
Bloquear las tablas
Guardar la bitácora
Actualizar las tablas
BASE DE DATOS 3
Preguntas del diseño distribuido
• Debido a los costos de transmisión, a la replicación y
a la concurrencia las BDD requieren de un diseño
cuidadoso, por lo tanto se pueden utilizar las
siguientes preguntas para determinar si debe
replicarse la BD o proporcionar acceso concurrente a
la red.
PREGUNTA
CONCURRENTE
REPLICACIÓN
¿Qué nivel de consistencia de datos se
requiere?
Alto
Bajo- medio
¿Qué tan costoso es el almacenamiento?
Medio-Alto
Bajo
¿Cuáles son los requerimientos de
acceso compartido?
Globales
Locales
¿Con que frecuencia se actualizan las
tablas?
Con frecuencia
Rara vez
¿Cuál es la velocidad de las
actualizaciones (transacciones)
requeridas?
Rápida
Lenta
¿Qué tan importantes son los tiempos de Mucho
transacción predecibles?
Poco
¿Cómo es el apoyo de DBMS para la
concurrencia y el Bloqueo?
Bueno-excelente
Pobre
¿Puede evitarse el acceso compartido?
No
Si