jueves, 15 de abril de 2010

Temario de la materia

TEMARIO

Unidad I

Bases de datos Distribuidas

1.1Arquitectura
1.1.1Autonomía
1.1.2Heterogeneidad
1.1.3Distribución y esquema global
1.2Diseño de bases de datos distribuidas
1.2.1Diseño top-down : fragmentación.
1.2.2Diseño bottom-up : integración de bases de datos.
1.3 Arquitecturas Cliente/Servidor para SGBD
1.3.1Filosofía Cliente/Servidor
1.3.2Sockets
1.3.3RPC
1.3.4CORBA
1.4 Optimización de preguntas y transacciones

Unidad II

Base de datos para la toma de decisiones

2.1 Almacenes de Datos (Data Warehouse)
2.1.1 Características
2.1.2 Arquitectura
2.1.3 Diseño
2.2 Minería de datos (Data Mining)
2.2.1 Antecedentes
2.2.2 Fases de proyectos de minería de datos
2.2.3 Filtrado de datos 2.2.4 Selección de Variables 2.2.5 Extracción de Conocimiento 2.2.6 Interpretación y Evaluación
2.3Minería Web

Unidad III

Base de datos extendidas

3.1Programas para administración remota
3.2Espionaje de teclado
3.3Detección de contraseñas
3.4Conexión automática a sitios pagados

Unidad IV

Otras tendencias

4.1Bases de Datos Activas.
4.2Bases de Datos Deductivas.
4.3Sistemas de gestión de bases de datos multimedia
4.4Base de Datos Móviles

miércoles, 14 de abril de 2010

UNIDAD 2

2.1 ALMACÉN DE DATOS (DATA WAREHOUSE)

Es una gran colección de datos que recoge información de múltiples sistemas fuentes u operacionales dispersos, y cuya actividad se centra en la Toma de Decisiones -es decir, en el análisis de la información- en vez de en su captura. Una vez reunidos los datos de los sistemas fuentes se guardan durante mucho tiempo, lo que permite el acceso a datos históricos; así los almacenes de datos proporcionan al usuario una interfaz consolidada única para los datos, lo que hace más fácil escribir las consultas para la toma de decisiones.

Data Warehousing es el proceso que facilita la creación y explotación de un Almacén de Datos.
Los Sistemas de Data Warehousing incluyen funcionalidades como:
Integración de bases de datos heterogéneas (relacionales, documentales, geográficas, archivos, etc.)
Ejecución de consultas complejas no predefinidas visualizando el resultado en forma gráfica y en diferentes niveles de agrupamiento y totalización de datos.
Agrupamiento y desagrupamiento de datos en forma interactiva.
Análisis del problema en términos de dimensiones.
Control de calidad de datos.

CARACTERÍSTICAS DEL ALMACÉN DE DATOS

Organizado en torno a temas. La información se clasifica en base a los aspectos que son de interés para la empresa.
Integrado. Es el aspecto más importante. La integración de datos consiste en convenciones de nombres, codificaciones consistentes, medida uniforme de variables, etc.
Dependiente del tiempo. Esta dependencia aparece de tres formas:
La información representa los datos sobre un horizonte largo de tiempo.
Cada estructura clave contiene (implícita o explícitamente) un elemento de tiempo (día, semana, mes, etc.).
La información, una vez registrada correctamente, no puede ser actualizada.
No volátil. El Almacén de Datos sólo permite cargar nuevos datos y acceder a los ya almacenados, pero no permite ni borrar ni modificar los datos.

2.1.2 ARQUITECTURA DATA WAREHOUSE

Respecto la arquitectura del Data Warehouse, podríamos considerar tres aspectos como los de mayor importancia y los presentamos en orden decreciente:
Nivel de organización de datos: las organizaciones suelen tener fuentes de datos sumamente interesantes y con un gran potencial de información para la estrategia de negocio. Por lo tanto, es absolutamente necesario que exista un proceso ágil que homogeinice los datos, los depure, los transforme adecuadamente y los cargue siguiendo las necesidades de negocio de la organización. De lo que deviene que este nivel de arquitectura sea el de mayor importancia en la arquitectura dado que si no se realiza con la mayor excelencia el proyecto puede no aportar nada a la organización.
Nivel de directorio de datos: el uso de metadatos es crucial para el éxito del Data Warehouse porque permiten integrar datos de diferentes fuentes, permite evitar inconsistencias en el modelo de datos, son un soporte a la calidad de los datos, es una guía para el mapping de datos en la transformación del ambiente operacional al Data Warehouse, describiendo la localización, la estructura y el significado. Debe incluir dominio, reglas de validación, derivación y transformación de los datos extraídos y es una guía de los algoritmos usados para la esquematización entre el detalle de datos actual con los datos ligeramente resumidos, y éstos con los datos completamente resumidos, etc.
Nivel de gestión de procesos: los procesos de actualización y mantenimiento del Data Warehouse es el tercer aspecto que debemos comentar. Dado que las necesidades de una organización evolucionan, exactamente ocurre para la información que necesita. De modo que, a través de los metadatos, pueda realizarse un mantenimiento de los datos almacenados con una periodicidad fijada y sea fácil extender los datos almacenados.
Eso no significa que los demás puntos no sean importantes. Por ejemplo, no conviene infravalorar ni los requerimientos de Hardware ni tampoco cómo se presenta la información ni la combinación de la misma a los usuarios finales. Pero, en todo caso es posible presentar los seleccionados como los principales.


La estructura básica de la arquitectura Data Warehouse incluye:
Datos operacionales. Origen de datos para el componente de almacenamiento físico del Almacén de Datos.
Extracción de datos. Selección sistemática de datos operacionales usados para formar parte del Almacén de Datos.
Transformación de datos. Procesos para sumarizar y realizar cambios en los datos operacionales.
Carga de datos. Inserción de datos en el Almacén.
Almacén. Almacenamiento físico de datos de al arquitectura Data Warehouse.
Herramienta de acceso. Herramientas que proveen acceso a los datos.
Los bloques funcionales que se corresponden con un sistema de información completo que utiliza un DW
Estructura lógica del Almacén de Datos
La estructura lógica de un Almacén de Datos está compuesta por los siguientes niveles:
Metadatos. Describen la estructura de los datos contenidos en el almacén.
Están en una dimensión distinta al resto de niveles.
Datos detallados actuales. Obtenidos directamente del procesado de los datos.
Forman el nivel más bajo de detalle.
Ocupan mucho espacio.
Se almacenan en disco, para facilitar el acceso.
Datos detallados históricos. Igual que los anteriores, pero con datos correspondientes al pasado.
Se suelen almacenar en un medio externo, ya que su acceso es poco frecuente.
Datos ligeramente resumidos. Primer nivel de agregación de los datos detallados actuales.
Corresponden a consultas habituales.
Se almacenan en disco.
Datos muy resumidos. Son el nivel más alto de agregación.
Corresponden a consultas que se realizan muy a menudo y que se deben obtener muy rápidamente.
Suelen estar separados del Almacén de datos, formando Supermercados de Datos (Data Marts).

Estructura física del Almacén de Datos
La estructura física puede presentar cualquiera de las siguientes configuraciones:
Arquitectura centralizada. Todo el Almacén de datos se encuentra en un único servidor.
Arquitectura distribuida. Los datos del Almacén se reparten entre varios servidores. Asignando cada servidor a uno o varios temas lógicos.
Arquitectura distribuida por niveles. Refleja la estructura lógica del Almacén, asignando los servidores en función del nivel de agregación de los datos que contienen. Un servidor está dedicado para los datos de detalle, otro para los resumidos y otro para los muy resumidos.
Cuando los datos muy resumidos se duplican en varios servidores para agilizar el acceso se habla de Supermercados de datos (Data Marts).

2.2 MINERÍA DE DATOS (DATA MINING)

La minería de datos (en inglés, data mining) se define como la extracción no trivial de información implícita, previamente desconocida y potencialmente útil, a partir de datos. En la actual sociedad de la información, donde cada día a día se multiplica la cantidad de datos almacenados casi de forma exponencial, la minería de datos es una herramienta fundamental para analizarlos y explotarlos de forma eficaz para los objetivos de cualquier organización. La minería de datos se define también como el análisis y descubrimiento de conocimiento a partir de datos.
La minería de datos hace uso de todas las técnicas que puedan aportar información útil, desde un sencillo análisis gráfico, pasando por métodos estadísticos más o menos complejos, complementados con métodos y algoritmos del campo de la inteligencia artificial y el aprendizaje automático que resuelven problemas típicos de agrupamiento automático, clasificación, predicción de valores, detección de patrones, asociación de atributos, etc. Es, por tanto, un campo multidisciplinar que cubre numerosas áreas y se aborda desde múltiples puntos de vista, como la estadística, la informática (cálculo automático) o la ingeniería.

2.2.1 ANTECEDENTES

La minería de datos, entendida como la búsqueda de patrones dentro de grandes bases de datos utilizando para ello métodos estadísticos y de aprendizaje basado en computadora, está empezando a extenderse en nuestro país. Empresas en el sector de telecomunicaciones, financiero y de autoservicio están en el proceso de adquirir alguna solución tecnológica en este campo, por lo que surge una demanda por recursos humanos con conocimientos en minería de datos.
Además, al enfrentar un ambiente más competitivo las empresas requieren de tecnologías que les permitan pronosticar, dentro de un marco probabilística, el comportamiento de sus clientes y prospectos a fin de desarrollar estrategias de atracción o retención.


2.2.2 FASES DE PROYECTOS DE MINERÍA DE DATOS

El data mining es una tecnología compuesta por etapas que integra varias áreas y que no se debe confundir con un gran software. Durante el desarrollo de un proyecto de este tipo se usan diferentes aplicaciones software en cada etapa que pueden ser estadísticas, de visualización de datos o de inteligencia artificial, principalmente. Actualmente existen aplicaciones o herramientas comerciales de data mining muy poderosas que contienen un sinfín de utilerías que facilitan el desarrollo de un proyecto. Sin embargo, casi siempre acaban complementándose con otra herramienta.
Los pasos a seguir para la realización de un proyecto de minería de datos son siempre los mismos, independientemente de la técnica específica de extracción de conocimiento usada.
Las técnicas de Data Mining son el resultado de un largo proceso de investigación
y desarrollo de productos. Esta evolución comenzó cuando los datos de negocios fueron almacenados por primera vez en computadoras, y continuó con mejoras en el acceso a los datos, y más recientemente con tecnologías generadas para permitir a los usuarios navegar a través de los datos en tiempo real. Data Mining toma este proceso de evolución más allá del acceso y navegación retrospectiva de los datos, hacia la entrega de información prospectiva y proactiva. Data Mining está listo para su aplicación en la comunidad de negocios porque está soportado por tres tecnologías que ya están suficientemente maduras:

• Recolección masiva de datos.
• Potentes computadoras con multiprocesadores.
• Algoritmos de Data Mining.

2.2.3 FILTRADO DE DATOS
El formato de los datos contenidos en la fuente de datos (base de datos, Data Warehouse...) nunca es el idóneo y la mayoría de las veces no es posible ni siquiera utilizar ningún algoritmo de minería sobre los datos "en bruto".
Mediante el preprocesado se filtran los datos (de forma que se eliminan valores incorrectos, no válidos, desconocidos... según las necesidades y el algoritmo que va a usarse), se obtienen muestras de los mismos (en busca de una mayor velocidad de respuesta del proceso), o se reduce el número de valores posibles (mediante redondeo, clustering...).
2.2.4 SELECCIÓN DE VARIABLES

Aún después de haber sido preprocesados, en la mayoría de los casos se tiene una cantidad ingente de datos. La selección de características reduce el tamaño de los datos eligiendo las variables más influyentes en el problema, sin apenas sacrificar la calidad del modelo de conocimiento obtenido del proceso de minería.
Los métodos para la selección de características son básicamente dos:
Aquellos basados en la elección de los mejores atributos del problema
Y aquellos que buscan variables independientes mediante tests de sensibilidad, algoritmos de distancia o heurísticos
2.2.5 EXTRACCIÓN DE CONOCIMIENTO

Mediante una técnica de minería de datos, se obtiene un modelo de conocimiento, que representa patrones de comportamiento observados en los valores de las variables del problema o relaciones de asociación entre dichas variables. También pueden usarse varias técnicas a la vez para generar distintos modelos, aunque generalmente cada técnica obliga a un preprocesado diferente de los datos.
2.2.6 INTERPRETACIÓN Y EVALUACIÓN

Una vez obtenido el modelo, se debe proceder a su validación comprobando que las conclusiones que arroja son válidas y suficientemente satisfactorias. En el caso de haber obtenido varios modelos mediante el uso de distintas técnicas, se deben comparar los modelos en busca de aquel que se ajuste mejor al problema. Si ninguno de los modelos alcanza los resultados esperados, debe alterarse alguno de los pasos anteriores para generar nuevos modelos.

Si desea obtener una descripción más detallada, puede consultar la documentación de CRISP-DM (CRoss Industry Standard Process for Data Mining), que es un estándar industrial, utilizado por más de 160 empresas e instituciones de todo el mundo, que surge en respuesta a la falta de estandarización y propone un modelo de proceso general para proyectos de minería de datos:
Neutral respecto a industria y herramientas
Aplicable en cualquier sector de negocio

2.3MINERÍA WEB

La minería web (o minería de uso de la web) es una aplicación especial de la minería de datos que consiste en extraer información y conocimiento útil específicamente de la actividad de un sitio web: análisis de tráfico (visitas y visitantes), contenidos más accedidos, procedencia, tipo de usuarios, navegadores y sistemas operativos, reglas de asociación entre páginas (tasa de conversión), etc.

El análisis de esta información, a partir del tráfico de un sitio web registrado de una manera adecuada, es fundamental, por una parte, para entender el comportamiento y los hábitos de los clientes/usuarios del sitio y, por otra, porque ayudan a mejorar su diseño. El problema es que obtener una información fiable y precisa sobre el comportamiento real de los usuarios de un sitio web es una labor complicada por varios motivos: las particularidades de Internet (cachés intermedias, direcciones IP dinámicas, deslocalización geográfica, etc.), la heterogeneidad de las visitas (usuarios con diferentes expectativas, robots, navegadores, buscadores, etc.) o la complejidad de la información recibida (concepto de sesión, visitantes detrás de servidores proxy, nombres de máquinas y dominios, protocolos, etc.).

UNIDAD 1

UNIDAD 1 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 entre diferentes sitios interconectados por una red de comunicaciones, los cuales tienen la capacidad de procesamiento autónomo lo cual indica que puede 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 los datos estuvieran siendo accedidos de forma local.
En un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes:
Hay múltiples computadores, llamados sitios o nodos.
Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones para transmitir datos y órdenes entre los sitios.
1.1 ARQUITECTURA
La mayoría de los sistemas de manejo de bases de datos disponibles actualmente están basadas en la arquitectura ANSI-SPARC la cual divide a un sistema en tres niveles: interno, conceptual y externo, como se puede apreciar en la Figura 2.4.
La vista conceptual, conocida también como vista lógica global, representa la visión de la comunidad de usuarios de los datos en la base de datos. No toma en cuenta la forma en que las aplicaciones individuales observan los datos o como éstos son almacenados. La vista conceptual está basada en el esquema conceptual y su construcción se hace en la primera fase del diseño de una base de datos.
Los usuarios, incluyendo a los programadores de aplicaciones, observan los datos a través de un esquema externo definido a nivel externo. La vista externa proporciona una ventana a la vista conceptual lo cual permite a los usuarios observar únicamente los datos de interés y los aísla de otros datos en la base de datos. Puede existir cualquier número de vistas externas y ellos pueden ser completamente independientes o traslaparse entre sí.
El esquema conceptual se mapea a un esquema interno a nivel interno, el cual es el nivel de descripción más bajo de los datos en una base de datos. Este proporciona una interfaz al sistema de archivos del sistema operativo el cual es el responsable del acceso a la base de datos. El nivel interno tiene que ver con la especificación de qué elementos serán indexados, qué técnica de organización de archivos utilizar y como los datos se agrupan en el disco mediante "clusters" para mejorar su acceso.
1.1,1 AUTONOMIA
Autonomía. La autonomía se puede presentar a diferentes niveles:
Autonomía de diseño. La habilidad de un componente del SMBD para decidir cuestiones relacionadas a su propio diseño.
Autonomía de comunicación. La habilidad de un componente del SMBD para decidir como y cuando comunicarse con otros SMBD.
Autonomía de ejecución. La habilidad de un componente del SMBD para ejecutar operaciones locales de la manera que él quiera.
1.1.2 HETEROGENEIDAD
Heterogeneidad. La heterogeneidad se puede presentar a varios niveles: hardware, sistema de comunicaciones, sistema operativo o SMBD. Para el caso de SMBD heterogéneos ésta se puede presentar debido al modelo de datos, al lenguaje de consultas o a los algoritmos para manejo de transacciones.
Esta clase se caracteriza por el uso de diferentes DBMS en los nodos locales. Hay dos subclases principales: los que hacen su integración totalmente dentro del sistema, y los más simples “hooks” o los apéndices externos llamados gateways, para permitir enlace a sistemas ajenos.
La anterior subclase puede ser adicionalmente refinada en una subclase que provee un subconjunto importante de funciones que uno esperaría desde cualquier
SGBD, y que enfatiza en los aspectos más pragmáticos del manejo de datos colectivos, tales como conversiones entre sistemas y algún aspecto básico de desempeño (sistemas multidatabase). Los sistemas multidatabase (SGBDMs) tienen múltiples SGBD, posiblemente de diferentes tipos, y múltiples, DBspreexistentes. La integración es desempeñada por lo tanto por múltiples software de subsistemas.

1.2Diseño de bases de datos distribuidas

Cuando pensamos en el diseño de las bases de datos distribuidas debemos tener en cuenta la ubicación de los programas que accederán a las bases de datos y sobre los propios datos que constituyen la base de datos, en diferentes puntos de una red. Sobre la ubicación de los programas supondremos que tenemos una copia de ellos en cada maquina donde se necesite acceder a la base de datos. Sin embargo el problema radica en como ubicaremos los datos en la red, existen diferentes formas de repartir los datos: En solo una maquina que almacene todos los datos y se encargue de responder a todas las consultas del resto de la red(sistema centralizado), ubicaríamos la base de dato en cada




1.2.1Diseño top-down : fragmentación.
Un esquema de este proceso puede observarse en la siguiente figura:

El diseño de abajo hacia arriba (bottom-up). Se utiliza particularmente a partir de bases de datos existentes, generando con esto bases de datos distribuidas. En forma resumida, el diseño bottom-up de una base de datos distribuida requiere de la selección de un modelo de bases de datos común para describir el esquema global de la base de datos. Esto se debe es posible que se utilicen diferentes SMBD. Después se hace la traducción de cada esquema local en el modelo de datos común y finalmente se hace la integración del esquema local en un esquema global común.

1.3 Arquitecturas Cliente/Servidor para SGBD

Esta arquitectura se divide en dos partes claramente diferenciadas, la primera es la parte del servidor y la segunda la de un conjunto de clientes. Normalmente el servidor es una máquina bastante potente que actúa de depósito de datos y funciona como un sistema gestor de base de datos (SGBD). Por otro lado los clientes suelen ser estaciones de trabajo que solicitan varios servicios al servidor.
Ambas partes deben estar conectadas entre sí mediante una red. Este tipo de arquitectura es la más utilizada en la actualidad, debido a que es la más avanzada y la que mejor ha evolucionado en estos últimos años. Podemos decir que esta arquitectura necesita tres tipos de software para su correcto funcionamiento:
Software de gestión de datos: Este software se encarga de la manipulación y gestión de los datos almacenados y requeridos por las diferentes aplicaciones. Normalmente este software se aloja en el servidor.
Software de desarrollo: este tipo de software se aloja en los clientes y solo en aquellos que se dedique al desarrollo de aplicaciones.
Software de interacción con los usuarios: También reside en los clientes y es la aplicación gráfica de usuario para la manipulación de datos, siempre claro a nivel usuario (consultas principalmente).
A parte de estos existen más aplicaciones software para el correcto funcionamiento de esta arquitectura pero ya están condicionados por el tipo de sistema operativo instalado, el tipo de red en la que se encuentra, etc.

1.3.1Filosofía Cliente/Servidor
La tecnología llamada Cliente /Servidor es actualmente utilizada en casi todas las aplicaciones administrativas e Internet/Intranet. Bajo esta filosofia, un servidor es un ordenador remoto, en algún lugar de una red, que proporciona información según se le solicite. Mientras que un cliente funciona en su computadora local, se comunica con el servidor remoto y pide a éste información.
Típicamente, un único servidor atiende a una multitud de clientes, ahorrando a cada uno de ellos el problema de tener la información instalada y almacenada localmente. Los sistemas Cliente-Servidor pueden ser de muchos tipos, pues esto depende principalmente de las aplicaciones instaladas en el propio servidor. Entre otros, existen: servidores de impresión mediante los cuales los usuarios comparten impresoras, servidores de archivos con los que los clientes comparten discos duros, servidores de bases de datos donde existe una única base de datos que es consultada por los clientes y puede o no ser modificada por ellos y servidores Web que utilizan también la tecnología Cliente/Servidor, aunque añaden aspectos nuevos y propios a la misma.
1.3.2Sockets
Para que dos programas puedan comunicarse entre sí es necesario que se cumplan ciertos requisitos:
Que un programa sea capaz de localizar al otro.
Que ambos programas sean capaces de intercambiarse cualquier secuencia de octetos, es decir, datos relevantes a su finalidad.
Para ello son necesarios los tres recursos que originan el concepto de socket:
Un protocolo de comunicaciones, que permite el intercambio de octetos.
Una dirección del Protocolo de Red (Dirección IP, si se utiliza el Protocolo TCP/IP), que identifica una computadora.
Un número de puerto, que identifica a un programa dentro de una computadora.
Los sockets permiten implementar una arquitectura cliente-servidor. La comunicación ha de ser iniciada por uno de los programas que se denomina programa cliente. El segundo programa espera a que otro inicie la comunicación, por este motivo se denomina programa servidor.
Un socket es un fichero existente en la máquina cliente y en la máquina servidora, que sirve en última instancia para que el programa servidor y el cliente lean y escriban la información. Esta información será la transmitida por las diferentes capas de red.
1.3.3RPC
El RPC (del inglés Remote Procedure Call, Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambos. El protocolo es un gran avance sobre los sockets usados hasta el momento. De esta manera el programador no tenía que estar pendiente de las comunicaciones, estando éstas encapsuladas dentro de las RPC.
Las RPC son muy utilizadas dentro del paradigma cliente-servidor. Siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimiento o función y enviando éste de vuelta el resultado de dicha operación al cliente.
Hay distintos tipos de RPC, muchos de ellos estandarizados como pueden ser el RPC de Sun denominado ONC RPC (RFC 1057), el RPC de OSF denominado DCE/RPC y el Modelo de Objetos de Componentes Distribuidos de Microsoft DCOM, aunque ninguno de estos es compatible entre sí. La mayoría de ellos utilizan un lenguaje de descripción de interfaz (IDL) que define los métodos exportados por el servidor.
1.3.4CORBA

CORBA (Common Object Request Broker Architecture), es una arquitectura estándar para sistemas de objetos distribuidos. Permite una distribución, colección heterogénea de objetos para interoperar.

· CORBA define una arquitectura para objetos distribuidos.
· El paradigma básico de CORBA es de una solicitud para servicios de objetos distribuidos.
· Todo lo demás definido por el OMG es en términos de este paradigma básico.
· Los servicios que un objeto provee son dados por su interface. Las interfaces son definidas en el Lenguaje de Definición de Interface (IDL) del OMG.
· Los objetos distribuidos son identificados por referencias a objetos, las cuales son definidas por las interfaces IDL.

1.4 Optimización de preguntas y transacciones
El propósito es seleccionar el mejor camino de acceso para una consulta local.
· Optimización mediante operación de semijoin.
Proceso distribuido de consultas utilizando semijoin. Reducción del número de tuplasantes de ser transferidas a otro nodo. Se envía la columna con la que se va a realizar el joinde una relación R al nodo donde se encuentra la otra relación, allí se realiza el joincon la otra relación. Se envían las columnas implicadas en el resultado al nodo inicial y se vuelve a realizar el joincon R. Sólo se transfieren las columnas de R que intervienen en la realización del joinen una dirección y el subconjunto de columnas de S resultantes en la otra.