SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
1
Bases de datos Distribuidas
Alumno: Benjamín Joaquín Martínez
Investigación Documental
Índice
Algoritmo de INGRES…………................................................................................................ 1
Algoritmo de System R……………………………………………………………………………………………………… 3
Algoritmo R* ……………………………………………………………………………………………………………………. 5
Algoritmo de INGRES
INGRES usa un algoritmo de optimización dinámico que recursivamente divide una consulta en el cálculo relacional en
piezas más pequeñas. Combina dos fases de la descomposición cálculo-álgebra relacional y optimización. No requiere
información estadística de la base de datos. Las dos fases generales del algoritmo son:
1. Descompone cada consulta con múltiples variables en una secuencia de consultas con una sola variable
común.
2. Procesa cada consulta mono-variable mediante un procesador de consultas de una variable el cual elige, de
acuerdo a algunas heurísticas, un plan de ejecución inicial. Posteriormente, ordena las operaciones de la
consulta considerando los tamaños de las relaciones intermedias.
La primera parte se hace en tres pasos como se indica a continuación:
• Reemplaza una consulta q con n variables en una seria de consultas
q1 , q2, ... , qn
donde qi usa el resultado de qi-1.
• La consulta q se descompone en q1 q2, donde q1 y q2 tienen una variable en común la cual es el resultado
de q
• Se reemplaza el valor de cada tupla con los valores actuales y se simplifica la consulta
q( V1, V2, ..., Vn) (q( t1, V2, ..., Vn), t1 R)
Ejemplo Para ilustrar el paso de desacoplamiento del algoritmo de INGRES considere la siguiente consulta:
2
"Encuentre los nombres de los empleados que trabajan en el proyecto CAD/CAM" Esta consulta se puede expresar en
SQL de la siguiente forma:
q1: SELECT E.ENOMBRE
FROM E, G, J
WHERE E.ENO = G.ENO AND G.JNO = J.JNO AND JNAME = "CAD/CAM"
q1 es reemplazada por q11 seguida de q en donde JVAR es una relación intermedia.
q11: SELECT J.JNO INTO JVAR
FROM J
WHERE JNAME = "CAD/CAM" q11: SELECT E.ENOMBRE FROM E, G, JVAR
WHERE E.ENO = G.ENO AND G.JNO = JVAR.JNO
La aplicación sucesiva de este paso a q puede generar
q12: SELECT G.ENO INTO GVAR
FROM G, JVAR
WHERE G.JNO = JVAR.JNO q13: SELECT E.ENOMBRE FROM G, GVAR
WHERE E.ENO = GVAR.ENO
Así, q1 ha sido reducido a la secuencia de consultas q11 , q12 , q13. La consulta q11 es monovariable. Sin embargo, las
consultas q12 y q13 no son monovariables. Veamos como transformar q13. La relación definida por la variable GVAR es
sobre un solo atributo (ENO). Supongamos que contiene únicamente dos tuplos: <E1> y <E2>. La sustitución de GVAR
genera dos consultas de una sola variable:
q131: SELECT E.ENOMBRE
FROM E
WHERE E.ENO = "E1"
q132: SELECT E.ENOMBRE
FROM E
WHERE E.ENO = "E2"
3
Algoritmo de System R
System R ejecuta una optimización de consultas estática basada en búsqueda exhaustiva del espacio solución. La
entrada del optimizador es un árbol del álgebra relacional que resulta de una consulta en SQL. La salida es un plan de
ejecución que implementa el árbol del álgebra relacional "óptimo".
El optimizador asigna un costo a cada árbol candidato y obtiene aquel con costo menor. Los árboles candidatos se
obtienen permutando el orden de las juntas de las n relaciones de una consulta usando las reglas de conmutatividad y
asociatividad. Para limitar el costo de optimización, el número de alternativas se reduce utilizando programación
dinámica. El conjunto de estrategias alternativas se construye de forma dinámica, de manera que, cuando dos juntas son
equivalentes por conmutatividad, se queda solo con la de costo más bajo. Más aún, cada vez que aparecen productos
Cartesianos se trata de eliminar la estrategia correspondiente.
El costo de una estrategia candidato es una combinación pesada de costos de I/O y CPU. La estimación de tales costos
(en tiempo de compilación) se basa en un modelo de costo que proporciona una fórmula de costo para cada operación
de bajo nivel. Para la mayoría de las operaciones, esas fórmulas de costo se basan en las cardinalidades de los
operandos. La información de las cardinalidades se obtiene del mismo System R. La cardinalidad de las relaciones
intermedias se estima de acuerdo a los factores de selectividad de las operaciones.
El algoritmo de optimización consiste de dos grandes pasos:
1. Las consultas simples se ejecutan de acuerdo al mejor camino de acceso (basada en un predicado de
selección).
2. Para cada relación R, se estima el mejor ordenamiento de juntas, en donde R se accesa primero usando el
mejor método de acceso a una sola relación. Así, se determinan todos los posibles ordenamientos de juntas,
se determina el costo de cada ordenamiento y se elige aquel con el costo mínimo.
Para la junta de dos relaciones, la relación cuyos tuplos se leen primero se llama externa, mientras que la otra, cuyos
tuplos se encuentran de acuerdo a los valores obtenidos de la relación externa, se llama relación interna. Una decisión
importante es determinar el camino de acceso menos costoso a la relación interna.
Al considerar las juntas, hay dos algoritmos disponibles. El primero, llamado de ciclos anidados, compone el producto de
las dos relaciones y se puede observar mediante el siguiente pseudocódigo.
Para cada tuplo de la relación externa (con cardinalidad n1) Para cada tuplo de la relación interna (con cardinalidad n2)
junta los dos tuplos si el predicado de la junta es verdadero end
end
Claramente, este método tiene complejidad n1*n2.
4
El segundo método, llamado junta-mezcla, consiste en mezclar dos relaciones ordenadas sobre el atributo de la junta.
Los índices del atributo de la junta se pueden usar como caminos de acceso. Si el criterio de junta es igualdad, el costo
de juntar dos relaciones de n1 y n2 páginas, respectivamente, es proporcional a n1 + n2.
Ejemplo Considere la consulta q1 del Ejemplo. La gráfica de juntas de se muestra en la Figura Suponga que se tienen los
siguientes índices:
E tiene un índice en ENO G tiene un índice en GNO
J tiene un índice en JNO y un índice en JNOMBRE
Supongamos que se seleccionan los siguientes caminos de acceso mejores para cada relación: E: recorrido secuencial (ya
que no hay selección sobre E)
G: recorrido secuencial (ya que no hay selección sobre G)
J: índice sobre JNOMBRE (ya que hay una selección en J basada en JNOMBRE)
La construcción dinámica del árbol de estrategias alternativas se presenta en la Figura. Note que el número de
ordenamientos posibles de juntas es 3! los cuales son:
E > < G > < J
G > < J > < E
J > < E > < G
J > < G > < E
Las operaciones marcadas como "podadas" se eliminan en forma dinámica. El primer nivel del árbol indica los mejores
caminos de acceso a una sola relación. El segundo nivel indica, el mejor método de junta con cualquier otra relación. Las
estrategias que utilizan el pruducto Cartesiano son inmediatamente podadas. Suponga que (E > < G) y (G > < J) tienen un
costo más alto que (G > < E) y (J > < G), respectivamente. Así ellas pueden ser podadas ya que existe un orden
equivalente con costo menor. Las dos posibilidades restantes están dadas en el tercer nivel del árbol. El mejor orden de
las juntas es el de costo menor entre ((G > < E) > < J) y ((J > < G) > < E). El último es el único que tienen un índice útil en el
atributo de selección y acceso directo a los tuplos de junta entre G y E
. Por lo tanto, éste es elegido con el siguiente método de acceso: Selecciona J usando el índice sobre JNOMBRE Junta con
G usando el índice sobre JNO Junta con E usando el índice sobre ENO
5
Algoritmo R*
El algoritmo de optimización de consultas distribuidas R* es una extensión sustancial a las técnicas desarrolladas para el
optimizador de System R.La función de costo considera el costo de procesamiento local así como el costo de
comunicación. Sin embargo, no utiliza fragmentos sino relaciones completas como unidades de distribución.Se
tiene:Nodo Maestro: Hace todas las decisiones entre nodos, tales como la selección de los nodos de ejecución así como
el método de transferencia de datosNodos Aprendices: hacen únicamente decisiones locales, tales como, el orden de las
juntas en la consulta local y generan planes de acceso local para la consulta.
En R*, se utilizan dos métodos para las transferencias de datos entre nodos:Transfiere todo:La relación completa es
transferida al nodo donde se realiza la junta y almacenada en una relación temporal antes de hacer la junta.Si el
algoritmo de la junta es por medio de una mezcla, la relación no necesita ser almacenada y el nodo que ejecuta la junta
puede procesar los tuplos conforme llegan.Este método requiere de grandes transferencias de datos, pero utiliza pocos
mensajes. Es adecuado si las relaciones son relativamente pequeñas.
Algoritmo R* Lee conforme lo necesita:
La relación externa es recorrida secuencialmente y, para cada tuplo, el valor de la junta se envía al nodo de la relación
interna, el cual selecciona los tuplos internos que satisfacen el predicado de la junta y envía los tuplos seleccionados al
nodo con la relación externa.La cantidad de mensajes es proporcional al tamaño de la relación externa. Este método es
adecuado si las relaciones son grandes y la selectividad de la junta es buena.
Dada la junta de una relación externa R con una relación interna S en el atributo A, existen cuatro estrategias para
realizar la junta:
Estrategia 1. Se transfiere la relación externa completa al nodo con la relación interna. En este caso los tuplos externos
se pueden juntar con S conforme llegan
Estrategia 2. Se transfiere la relación interna completa al nodo con la relación externa. En este caso los tuplos internos
no se pueden juntar conforme llegan y se tienen que almacenar en una relación temporal T.
Estrategia 3: Se obtienen los tuplos de la relación interna conforme se necesitan para cada tuplo de la relación externa.
En este caso, para cada tuplo de R, el atributo de junta se envía al nodo de S. Luego s tuplos de S que satisfacen el
atributo son recuperados y envíados al nodo de R para ser juntados conforme llegan.
Estrategia 4: Se mueven las relaciones a un tercer nodo y se calcula la junta ahí. En este caso la relación interna se
mueve al tercer nodo y se almacena en una relación temporal T. Luego la relación externa se mueve al tercer nodo y sus
tuplos se juntan con T conforme llegan.
6
References
(N.d.). Unam.Mx. Retrieved November 17, 2021, from http://profesores.fi-
b.unam.mx/pilarang/docencia/Notas-BDDistribuidas.pdf

Más contenido relacionado

La actualidad más candente

Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3Germania Rodriguez
 
Tema4 algebra relacional
Tema4   algebra relacionalTema4   algebra relacional
Tema4 algebra relacionalAlvaro Loustau
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacionalLuis Jherry
 
Definiciones de conceptos basicos de analisis de sistemas
Definiciones de conceptos basicos de analisis de sistemasDefiniciones de conceptos basicos de analisis de sistemas
Definiciones de conceptos basicos de analisis de sistemasPollo XD
 
Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...MariaCapuzzo
 
Bases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacionalBases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacionalCarlos Castillo (ChaTo)
 
Estruc datos
Estruc datosEstruc datos
Estruc datosITECO
 
Base de datos relacionales algebra relacional
Base de datos relacionales algebra relacionalBase de datos relacionales algebra relacional
Base de datos relacionales algebra relacionalJEAN199627
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasgrupo niche ortega
 
Simulacion de pi - monte carlo - buffon java
Simulacion de pi - monte carlo - buffon  javaSimulacion de pi - monte carlo - buffon  java
Simulacion de pi - monte carlo - buffon javaNestor Paucar Carhuatanta
 
Bases de Datos Semanticas
Bases de Datos SemanticasBases de Datos Semanticas
Bases de Datos SemanticasErik Guerrero
 
Ecuaciones Diferenciales Primer Orden
Ecuaciones Diferenciales Primer OrdenEcuaciones Diferenciales Primer Orden
Ecuaciones Diferenciales Primer OrdenLuis Quispe
 
Operador anulador
Operador anuladorOperador anulador
Operador anuladorgermane123
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridadkamui002
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalclaudyabra
 
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Bryan Aguilar Yaguana
 

La actualidad más candente (20)

Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3
 
Tema4 algebra relacional
Tema4   algebra relacionalTema4   algebra relacional
Tema4 algebra relacional
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
Definiciones de conceptos basicos de analisis de sistemas
Definiciones de conceptos basicos de analisis de sistemasDefiniciones de conceptos basicos de analisis de sistemas
Definiciones de conceptos basicos de analisis de sistemas
 
Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...
 
Bases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacionalBases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacional
 
Estruc datos
Estruc datosEstruc datos
Estruc datos
 
Base de datos relacionales algebra relacional
Base de datos relacionales algebra relacionalBase de datos relacionales algebra relacional
Base de datos relacionales algebra relacional
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Criptofgrafia sobre curvas elípticas
Criptofgrafia sobre curvas elípticasCriptofgrafia sobre curvas elípticas
Criptofgrafia sobre curvas elípticas
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivas
 
Simulacion de pi - monte carlo - buffon java
Simulacion de pi - monte carlo - buffon  javaSimulacion de pi - monte carlo - buffon  java
Simulacion de pi - monte carlo - buffon java
 
Bases de Datos Semanticas
Bases de Datos SemanticasBases de Datos Semanticas
Bases de Datos Semanticas
 
Ecuaciones Diferenciales Primer Orden
Ecuaciones Diferenciales Primer OrdenEcuaciones Diferenciales Primer Orden
Ecuaciones Diferenciales Primer Orden
 
Operador anulador
Operador anuladorOperador anulador
Operador anulador
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridad
 
Calculo relacional
Calculo relacionalCalculo relacional
Calculo relacional
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
 

Similar a Algoritmo de INGRES

Diseño de experiencias
Diseño de experienciasDiseño de experiencias
Diseño de experienciasDiego Gomez
 
DISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSO
DISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSODISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSO
DISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSOESCOM
 
Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Spimy
 
Estimación de Parámetros de Líneas de Transmisión Incluyendo Análisis de Robu...
Estimación de Parámetros de Líneas de Transmisión Incluyendo Análisis de Robu...Estimación de Parámetros de Líneas de Transmisión Incluyendo Análisis de Robu...
Estimación de Parámetros de Líneas de Transmisión Incluyendo Análisis de Robu...Omar Romay
 
DIFERENCIACIÓN E INTEGRACIÓN ANÁLISIS NUMÉRICO
DIFERENCIACIÓN E INTEGRACIÓN ANÁLISIS NUMÉRICO DIFERENCIACIÓN E INTEGRACIÓN ANÁLISIS NUMÉRICO
DIFERENCIACIÓN E INTEGRACIÓN ANÁLISIS NUMÉRICO DeysiEscobar
 
Analisis numericos 24.03
Analisis numericos 24.03Analisis numericos 24.03
Analisis numericos 24.03Jorge Baptista
 
Sistemas de Conmutación: Encaminamiento
Sistemas de Conmutación: EncaminamientoSistemas de Conmutación: Encaminamiento
Sistemas de Conmutación: EncaminamientoAndres Suarez
 
Parámetros log normal3p
Parámetros log normal3pParámetros log normal3p
Parámetros log normal3pKarol Esplana
 
Utp sirn_s12_sistemas de control basados en logic difusa
 Utp sirn_s12_sistemas de control basados en logic difusa Utp sirn_s12_sistemas de control basados en logic difusa
Utp sirn_s12_sistemas de control basados en logic difusajcbp_peru
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
Simulación en Ing. Eléctrica - Aproximación de funciones
Simulación en Ing. Eléctrica - Aproximación de funcionesSimulación en Ing. Eléctrica - Aproximación de funciones
Simulación en Ing. Eléctrica - Aproximación de funcionesCarlos Vergara Branje
 
Grafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número CromáticoGrafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número CromáticoGustavo Dejean
 
Implementaciones PHub ABH Búsquedas No Constructivas
Implementaciones PHub ABH Búsquedas No ConstructivasImplementaciones PHub ABH Búsquedas No Constructivas
Implementaciones PHub ABH Búsquedas No Constructivasedmodi
 
Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BJose Andres
 
reglajes formula uno electre
reglajes formula uno electrereglajes formula uno electre
reglajes formula uno electreFco Javier Lucena
 
T7 Alg Mult Matr
T7 Alg Mult MatrT7 Alg Mult Matr
T7 Alg Mult MatrFcoKraken
 
Algoritmo de dijkstra
Algoritmo de dijkstraAlgoritmo de dijkstra
Algoritmo de dijkstraKeily Solano
 

Similar a Algoritmo de INGRES (20)

Diseño de experiencias
Diseño de experienciasDiseño de experiencias
Diseño de experiencias
 
DISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSO
DISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSODISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSO
DISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSO
 
Algoritmos Evolutivos
Algoritmos EvolutivosAlgoritmos Evolutivos
Algoritmos Evolutivos
 
Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)
 
Estimación de Parámetros de Líneas de Transmisión Incluyendo Análisis de Robu...
Estimación de Parámetros de Líneas de Transmisión Incluyendo Análisis de Robu...Estimación de Parámetros de Líneas de Transmisión Incluyendo Análisis de Robu...
Estimación de Parámetros de Líneas de Transmisión Incluyendo Análisis de Robu...
 
DIFERENCIACIÓN E INTEGRACIÓN ANÁLISIS NUMÉRICO
DIFERENCIACIÓN E INTEGRACIÓN ANÁLISIS NUMÉRICO DIFERENCIACIÓN E INTEGRACIÓN ANÁLISIS NUMÉRICO
DIFERENCIACIÓN E INTEGRACIÓN ANÁLISIS NUMÉRICO
 
Analisis numericos 24.03
Analisis numericos 24.03Analisis numericos 24.03
Analisis numericos 24.03
 
Sistemas de Conmutación: Encaminamiento
Sistemas de Conmutación: EncaminamientoSistemas de Conmutación: Encaminamiento
Sistemas de Conmutación: Encaminamiento
 
Generación
GeneraciónGeneración
Generación
 
Parámetros log normal3p
Parámetros log normal3pParámetros log normal3p
Parámetros log normal3p
 
Utp sirn_s12_sistemas de control basados en logic difusa
 Utp sirn_s12_sistemas de control basados en logic difusa Utp sirn_s12_sistemas de control basados en logic difusa
Utp sirn_s12_sistemas de control basados en logic difusa
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Simulación en Ing. Eléctrica - Aproximación de funciones
Simulación en Ing. Eléctrica - Aproximación de funcionesSimulación en Ing. Eléctrica - Aproximación de funciones
Simulación en Ing. Eléctrica - Aproximación de funciones
 
Grafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número CromáticoGrafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número Cromático
 
Implementaciones PHub ABH Búsquedas No Constructivas
Implementaciones PHub ABH Búsquedas No ConstructivasImplementaciones PHub ABH Búsquedas No Constructivas
Implementaciones PHub ABH Búsquedas No Constructivas
 
Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys B
 
numerosAleatorios.pptx
numerosAleatorios.pptxnumerosAleatorios.pptx
numerosAleatorios.pptx
 
reglajes formula uno electre
reglajes formula uno electrereglajes formula uno electre
reglajes formula uno electre
 
T7 Alg Mult Matr
T7 Alg Mult MatrT7 Alg Mult Matr
T7 Alg Mult Matr
 
Algoritmo de dijkstra
Algoritmo de dijkstraAlgoritmo de dijkstra
Algoritmo de dijkstra
 

Más de Benjamín Joaquín Martínez

Más de Benjamín Joaquín Martínez (20)

Sistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdfSistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdf
 
Portafolio ingles.pdf
Portafolio ingles.pdfPortafolio ingles.pdf
Portafolio ingles.pdf
 
Tabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdfTabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdf
 
Sistema de registro con php
Sistema de registro con phpSistema de registro con php
Sistema de registro con php
 
compiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdfcompiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdf
 
Compiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdfCompiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdf
 
133467 compiladores 4.pdf
133467 compiladores 4.pdf133467 compiladores 4.pdf
133467 compiladores 4.pdf
 
133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf
 
133467_COMPILADORES2
133467_COMPILADORES2133467_COMPILADORES2
133467_COMPILADORES2
 
COMPILADORES1.pdf
COMPILADORES1.pdfCOMPILADORES1.pdf
COMPILADORES1.pdf
 
Algoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdfAlgoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdf
 
Logica proposicional
Logica proposicionalLogica proposicional
Logica proposicional
 
Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467
 
Bd distribuidas
Bd distribuidasBd distribuidas
Bd distribuidas
 
diseño de bases de datos distribuidas
diseño de bases de datos distribuidas   diseño de bases de datos distribuidas
diseño de bases de datos distribuidas
 
procesamiento de consultas distribuidas
procesamiento de consultas distribuidasprocesamiento de consultas distribuidas
procesamiento de consultas distribuidas
 
Fragmentación
FragmentaciónFragmentación
Fragmentación
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
 
Bases de datos distribuidas heterogeneas
Bases de datos distribuidas heterogeneasBases de datos distribuidas heterogeneas
Bases de datos distribuidas heterogeneas
 

Último

CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfCALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfPOULANDERSONDELGADOA2
 
Familias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfFamilias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfJC Díaz Herrera
 
Cesar Vilchis Vieyra Cesar Vilchis Vieyra
Cesar Vilchis Vieyra  Cesar Vilchis VieyraCesar Vilchis Vieyra  Cesar Vilchis Vieyra
Cesar Vilchis Vieyra Cesar Vilchis Vieyraestudiantes2010
 
Gestión Logística maria palmira guti cabajal
Gestión Logística maria palmira guti cabajalGestión Logística maria palmira guti cabajal
Gestión Logística maria palmira guti cabajalMarcosAlvarezSalinas
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfJC Díaz Herrera
 
Las familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfLas familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfJC Díaz Herrera
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfJC Díaz Herrera
 
llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllJulietaCarbajalOsis
 
Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024AndrsReinosoSnchez1
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfalexanderleonyonange
 
PIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosPIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosEstefaniaRojas54
 
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfReservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfJC Díaz Herrera
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOJuan Carlos Fonseca Mata
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfJC Díaz Herrera
 
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdf
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdfINFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdf
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdfMiguelGomez900779
 
COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .GIANELAKAINACHALLCOJ2
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaJoellyAlejandraRodrg
 
presentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptpresentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptMelina Alama Visitacion
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfJC Díaz Herrera
 

Último (20)

CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfCALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
 
Familias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfFamilias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdf
 
Cesar Vilchis Vieyra Cesar Vilchis Vieyra
Cesar Vilchis Vieyra  Cesar Vilchis VieyraCesar Vilchis Vieyra  Cesar Vilchis Vieyra
Cesar Vilchis Vieyra Cesar Vilchis Vieyra
 
Gestión Logística maria palmira guti cabajal
Gestión Logística maria palmira guti cabajalGestión Logística maria palmira guti cabajal
Gestión Logística maria palmira guti cabajal
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
 
Las familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfLas familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdf
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdf
 
llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
 
Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdf
 
PIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosPIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos años
 
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfReservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATO
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
 
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdf
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdfINFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdf
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdf
 
COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 
presentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptpresentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.ppt
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdf
 

Algoritmo de INGRES

  • 1. 1 Bases de datos Distribuidas Alumno: Benjamín Joaquín Martínez Investigación Documental Índice Algoritmo de INGRES…………................................................................................................ 1 Algoritmo de System R……………………………………………………………………………………………………… 3 Algoritmo R* ……………………………………………………………………………………………………………………. 5 Algoritmo de INGRES INGRES usa un algoritmo de optimización dinámico que recursivamente divide una consulta en el cálculo relacional en piezas más pequeñas. Combina dos fases de la descomposición cálculo-álgebra relacional y optimización. No requiere información estadística de la base de datos. Las dos fases generales del algoritmo son: 1. Descompone cada consulta con múltiples variables en una secuencia de consultas con una sola variable común. 2. Procesa cada consulta mono-variable mediante un procesador de consultas de una variable el cual elige, de acuerdo a algunas heurísticas, un plan de ejecución inicial. Posteriormente, ordena las operaciones de la consulta considerando los tamaños de las relaciones intermedias. La primera parte se hace en tres pasos como se indica a continuación: • Reemplaza una consulta q con n variables en una seria de consultas q1 , q2, ... , qn donde qi usa el resultado de qi-1. • La consulta q se descompone en q1 q2, donde q1 y q2 tienen una variable en común la cual es el resultado de q • Se reemplaza el valor de cada tupla con los valores actuales y se simplifica la consulta q( V1, V2, ..., Vn) (q( t1, V2, ..., Vn), t1 R) Ejemplo Para ilustrar el paso de desacoplamiento del algoritmo de INGRES considere la siguiente consulta:
  • 2. 2 "Encuentre los nombres de los empleados que trabajan en el proyecto CAD/CAM" Esta consulta se puede expresar en SQL de la siguiente forma: q1: SELECT E.ENOMBRE FROM E, G, J WHERE E.ENO = G.ENO AND G.JNO = J.JNO AND JNAME = "CAD/CAM" q1 es reemplazada por q11 seguida de q en donde JVAR es una relación intermedia. q11: SELECT J.JNO INTO JVAR FROM J WHERE JNAME = "CAD/CAM" q11: SELECT E.ENOMBRE FROM E, G, JVAR WHERE E.ENO = G.ENO AND G.JNO = JVAR.JNO La aplicación sucesiva de este paso a q puede generar q12: SELECT G.ENO INTO GVAR FROM G, JVAR WHERE G.JNO = JVAR.JNO q13: SELECT E.ENOMBRE FROM G, GVAR WHERE E.ENO = GVAR.ENO Así, q1 ha sido reducido a la secuencia de consultas q11 , q12 , q13. La consulta q11 es monovariable. Sin embargo, las consultas q12 y q13 no son monovariables. Veamos como transformar q13. La relación definida por la variable GVAR es sobre un solo atributo (ENO). Supongamos que contiene únicamente dos tuplos: <E1> y <E2>. La sustitución de GVAR genera dos consultas de una sola variable: q131: SELECT E.ENOMBRE FROM E WHERE E.ENO = "E1" q132: SELECT E.ENOMBRE FROM E WHERE E.ENO = "E2"
  • 3. 3 Algoritmo de System R System R ejecuta una optimización de consultas estática basada en búsqueda exhaustiva del espacio solución. La entrada del optimizador es un árbol del álgebra relacional que resulta de una consulta en SQL. La salida es un plan de ejecución que implementa el árbol del álgebra relacional "óptimo". El optimizador asigna un costo a cada árbol candidato y obtiene aquel con costo menor. Los árboles candidatos se obtienen permutando el orden de las juntas de las n relaciones de una consulta usando las reglas de conmutatividad y asociatividad. Para limitar el costo de optimización, el número de alternativas se reduce utilizando programación dinámica. El conjunto de estrategias alternativas se construye de forma dinámica, de manera que, cuando dos juntas son equivalentes por conmutatividad, se queda solo con la de costo más bajo. Más aún, cada vez que aparecen productos Cartesianos se trata de eliminar la estrategia correspondiente. El costo de una estrategia candidato es una combinación pesada de costos de I/O y CPU. La estimación de tales costos (en tiempo de compilación) se basa en un modelo de costo que proporciona una fórmula de costo para cada operación de bajo nivel. Para la mayoría de las operaciones, esas fórmulas de costo se basan en las cardinalidades de los operandos. La información de las cardinalidades se obtiene del mismo System R. La cardinalidad de las relaciones intermedias se estima de acuerdo a los factores de selectividad de las operaciones. El algoritmo de optimización consiste de dos grandes pasos: 1. Las consultas simples se ejecutan de acuerdo al mejor camino de acceso (basada en un predicado de selección). 2. Para cada relación R, se estima el mejor ordenamiento de juntas, en donde R se accesa primero usando el mejor método de acceso a una sola relación. Así, se determinan todos los posibles ordenamientos de juntas, se determina el costo de cada ordenamiento y se elige aquel con el costo mínimo. Para la junta de dos relaciones, la relación cuyos tuplos se leen primero se llama externa, mientras que la otra, cuyos tuplos se encuentran de acuerdo a los valores obtenidos de la relación externa, se llama relación interna. Una decisión importante es determinar el camino de acceso menos costoso a la relación interna. Al considerar las juntas, hay dos algoritmos disponibles. El primero, llamado de ciclos anidados, compone el producto de las dos relaciones y se puede observar mediante el siguiente pseudocódigo. Para cada tuplo de la relación externa (con cardinalidad n1) Para cada tuplo de la relación interna (con cardinalidad n2) junta los dos tuplos si el predicado de la junta es verdadero end end Claramente, este método tiene complejidad n1*n2.
  • 4. 4 El segundo método, llamado junta-mezcla, consiste en mezclar dos relaciones ordenadas sobre el atributo de la junta. Los índices del atributo de la junta se pueden usar como caminos de acceso. Si el criterio de junta es igualdad, el costo de juntar dos relaciones de n1 y n2 páginas, respectivamente, es proporcional a n1 + n2. Ejemplo Considere la consulta q1 del Ejemplo. La gráfica de juntas de se muestra en la Figura Suponga que se tienen los siguientes índices: E tiene un índice en ENO G tiene un índice en GNO J tiene un índice en JNO y un índice en JNOMBRE Supongamos que se seleccionan los siguientes caminos de acceso mejores para cada relación: E: recorrido secuencial (ya que no hay selección sobre E) G: recorrido secuencial (ya que no hay selección sobre G) J: índice sobre JNOMBRE (ya que hay una selección en J basada en JNOMBRE) La construcción dinámica del árbol de estrategias alternativas se presenta en la Figura. Note que el número de ordenamientos posibles de juntas es 3! los cuales son: E > < G > < J G > < J > < E J > < E > < G J > < G > < E Las operaciones marcadas como "podadas" se eliminan en forma dinámica. El primer nivel del árbol indica los mejores caminos de acceso a una sola relación. El segundo nivel indica, el mejor método de junta con cualquier otra relación. Las estrategias que utilizan el pruducto Cartesiano son inmediatamente podadas. Suponga que (E > < G) y (G > < J) tienen un costo más alto que (G > < E) y (J > < G), respectivamente. Así ellas pueden ser podadas ya que existe un orden equivalente con costo menor. Las dos posibilidades restantes están dadas en el tercer nivel del árbol. El mejor orden de las juntas es el de costo menor entre ((G > < E) > < J) y ((J > < G) > < E). El último es el único que tienen un índice útil en el atributo de selección y acceso directo a los tuplos de junta entre G y E . Por lo tanto, éste es elegido con el siguiente método de acceso: Selecciona J usando el índice sobre JNOMBRE Junta con G usando el índice sobre JNO Junta con E usando el índice sobre ENO
  • 5. 5 Algoritmo R* El algoritmo de optimización de consultas distribuidas R* es una extensión sustancial a las técnicas desarrolladas para el optimizador de System R.La función de costo considera el costo de procesamiento local así como el costo de comunicación. Sin embargo, no utiliza fragmentos sino relaciones completas como unidades de distribución.Se tiene:Nodo Maestro: Hace todas las decisiones entre nodos, tales como la selección de los nodos de ejecución así como el método de transferencia de datosNodos Aprendices: hacen únicamente decisiones locales, tales como, el orden de las juntas en la consulta local y generan planes de acceso local para la consulta. En R*, se utilizan dos métodos para las transferencias de datos entre nodos:Transfiere todo:La relación completa es transferida al nodo donde se realiza la junta y almacenada en una relación temporal antes de hacer la junta.Si el algoritmo de la junta es por medio de una mezcla, la relación no necesita ser almacenada y el nodo que ejecuta la junta puede procesar los tuplos conforme llegan.Este método requiere de grandes transferencias de datos, pero utiliza pocos mensajes. Es adecuado si las relaciones son relativamente pequeñas. Algoritmo R* Lee conforme lo necesita: La relación externa es recorrida secuencialmente y, para cada tuplo, el valor de la junta se envía al nodo de la relación interna, el cual selecciona los tuplos internos que satisfacen el predicado de la junta y envía los tuplos seleccionados al nodo con la relación externa.La cantidad de mensajes es proporcional al tamaño de la relación externa. Este método es adecuado si las relaciones son grandes y la selectividad de la junta es buena. Dada la junta de una relación externa R con una relación interna S en el atributo A, existen cuatro estrategias para realizar la junta: Estrategia 1. Se transfiere la relación externa completa al nodo con la relación interna. En este caso los tuplos externos se pueden juntar con S conforme llegan Estrategia 2. Se transfiere la relación interna completa al nodo con la relación externa. En este caso los tuplos internos no se pueden juntar conforme llegan y se tienen que almacenar en una relación temporal T. Estrategia 3: Se obtienen los tuplos de la relación interna conforme se necesitan para cada tuplo de la relación externa. En este caso, para cada tuplo de R, el atributo de junta se envía al nodo de S. Luego s tuplos de S que satisfacen el atributo son recuperados y envíados al nodo de R para ser juntados conforme llegan. Estrategia 4: Se mueven las relaciones a un tercer nodo y se calcula la junta ahí. En este caso la relación interna se mueve al tercer nodo y se almacena en una relación temporal T. Luego la relación externa se mueve al tercer nodo y sus tuplos se juntan con T conforme llegan.
  • 6. 6 References (N.d.). Unam.Mx. Retrieved November 17, 2021, from http://profesores.fi- b.unam.mx/pilarang/docencia/Notas-BDDistribuidas.pdf