bases de datos distribuidas - weblidi.info.unlp.edu.arweblidi.info.unlp.edu.ar/catedras/bdd/clase 7...
TRANSCRIPT
Bases de Datos Distribuidas
Lic. Hugo Ramón
06/11/03
AgendaIntroducciónProblemas ObjetivosComplejidadCaracterización del ProcesadorCapas
06/11/03
IntroducciónÉxito de las BDR
Debido al SQLAumento de la productividadOcultamiento de detalleConsultas complejas en forma consisa y simple
Procesador de QuerysDefine el procedimientoReleva tareas de optimizaciónParte crítica y recibe atención
06/11/03
IntroducciónProcesador de queries (PQ)
Mucho mas complejo en ambiente distribuidoIntervienen muchos parametros
• Afectan la performanceLa query puede
• Fragmentarse• Replicarse• Esto agrega costo a las comunicaciones• Tiempo de respuesta muy alto
06/11/03
ProblemasObjetivo del PQ
Transformar • Desde un lenguaje de alto nivel (Calculo Relacional,CR)• A un lenguaje de bajo nivel (Algebra Relacional, AR)
• Este implementa la estrategia de la query• Debe ser
• Correcta• Eficiente
• Deben poseer la misma semántica (resultados iguales)• Existe M(CR,AR) y puede ser de varias formas • Eficiencia es mas dificil de obtener• Debemos obtener la mejor forma que minimize la
utilización de recursos
06/11/03
ProblemasEjemplo
EMP(NRO,NOMB,TITULO)ASG(EMP_NRO,PRY_NRO,RESP,DUR)
SELECT NOMB
FROM EMP,ASG
WHERE EMP.NRO=ASG.EMP_NRO ANDASG.RESP=“GERENTE”
06/11/03
ProblemasSe traducen en queries del AR
Ó
Cual es la mejor estrategia ?
)(( .."". EMPxASGENOASGNROEMPGERENTERESPASGNOMB =∧=Π σ
)))((( "". ASGEMP GERENTERESPASGNROBNOM =<>Π σ
06/11/03
ProblemasContexto centralizado
Bien expresadas con el ARPQ debe elegir la mejor entre todas las equivalentesProblema intratable con muchas relacionesSe selecciona la mejor o mas cerca del óptimo
Contexto distribuidoAR no expresa las estrategias de ejecuciónNecesitamos intercambio de información entre sitesSe deben ordenar las operaciones ARSeleccionar los mejores sitios (de acuerdo a la fragmentación)Medición
• Acceso a un tupla• Transferencia de tupla
Esto hace todo mas dificultoso
06/11/03
ObjetivosTransformar queries desde alto-nivel (CR) sobre una BDD
Esto es visto por el usuario como una BDEjecución eficiente Bajo nivel es visto como AR + comunicaciones
Optimización de queries Calcular el costo total en el procesamiento
Tiempo de CPU (considerado en BD)I/O (Considerado en BD)Comunicaciones (el mas iportante)CPU+I/O es MUY menor que el de Comunicaciones
Ver el tiempo de respuesta de la query (mas que el costo)Minimizar los valores
06/11/03
ComplejidadAR es la salida de PQAR afecta al Tiempo de ejecuciónTiempo de ejecucion afecta al uso del PQEsto define la complejidad abstractamente
En relación a la cardinalidadIndependiente de implementaciones físicas
• Fragmentación• Estructuras
06/11/03
Complejidad
O(n2)Producto Cartesiano
O(n*log n)Set
O(n*log n)Division
O(n*log n)Semijoin
O(n*log n)Join
O(n*log n)Group
O(n*log n)Project (con eliminación)
O(n)Project (sin eliminación)
O(n)Select
ComplejidadOperación
06/11/03
CaracterizaciónClaves de un PQ
LenguajeTipos de OptimizacionesOptimización del tiempoEstadisticasDecisión de sitiosExplotar la topología de redExplotar los fragmentos replicadosUso de semijoins
06/11/03
CaracterizaciónLenguaje
Eficiente transformación del lenguaje de entrada en el de salidaLa entrada
• CR• AR• Object Calculus (CO)• Object Algebra (AO)
La salida• AR + comunicaciones
06/11/03
CaracterizaciónTipos de Optimizaciones
Mejor posicionada de todas las estrategiasTODAS
• Predicción exhautiva de todas y selección• Problemas con costos de procesamiento
RANDOM• Trata de encontrar una buena no la mejor• Se olvida de los costos altos por
• Memoria• Tiempo
06/11/03
CaracterizaciónEstádisticas
Las optimizaciones se basan en las estadisticas• Dinámicas: cual operaciones hacer primero• Estaticas: relaciones intermedias estimadas en base a est.
Se basa en fragmentosHistogramas de atributosActualizaciones períodicasEstas actualizaciones fuerzan re-optimizaciones
06/11/03
CaracterizaciónDecisión de sitios
Decisión distribuida• Todos los sitios participan en la decisión de la estrategia
Decisión centralizada• Un sitio genera la estrategia• El procesamiento se hace distribuido• Necesita conocimiento de toda la BDD
Hibridas• Un sito hace la decisión mayor• Decisiones locales en sitios locales
06/11/03
CaracterizaciónExplotar la topología de la red
En WAN debo minimizar el costo de comunicacionesEsto simplifica la optimización
• Selección de la estrategia global• Selección de cada estrategia local
Se puede aprovechar el broadcastClient/Server
• Data shipping• Que se hace el cliente ?• Que se hace en el servidor ?
06/11/03
CaracterizaciónExplotar los fragmentos replicados
Las relaciones distribuidas se hacen con fragmentosLas queries se mapean a fragmentos fisicosEsto se llama localizaciónExisten diferentes fragmentos en diferentes sitiosUtilizar la fragmentación para reducir costos de comunicacionesAumenta el número de estrategias
06/11/03
CaracterizaciónUso de semijoins
Reduce el tamaño de las operaciones de relaciónEs importante para reducir el tráfico en la redIncrementa el número de mensajesVelocidad de la red
06/11/03
Capas
DescomposiciónDe la query
Localización de Datos
OptimizaciónGlobal
OptimizaciónLocal
Sitio Global
Sitio Local
Esquema Global
Esquema Fragm.
Estadisticas De Fragmentos
Esquema Local
Query
Algebra
Fragmentacion
Optimización Queries Locales
Optimización Frag. & Comm.
06/11/03
BibliografiaDistributed Database Systems. Bell, D; Grimson J. Addison Wesley, 1992.Principles of Distributed Database Systems. Ozsu, T; Valduriez, P. Prentice Hall, 1991.Managing Distributed Databases. Burleson, D. Wiley, 1994.