miguel garzon cruise lab - site

11
Miguel Garzon CrUise Lab - SITE CSI3530 - PROJET 2013 Symmetric Hash Join

Upload: marsden-george

Post on 02-Jan-2016

29 views

Category:

Documents


0 download

DESCRIPTION

CSI3530 - PROJET 2013 Symmetric Hash Join. Miguel Garzon CrUise Lab - SITE. Instructions. Travaillez sur les machines à SITE Ou connectez-vous via SSH Utilisez la version 8.1.4 de PostgreSQL Travaillez en groupes de 3-4 personnes Date limite : Décembre 8 2010 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Miguel  Garzon CrUise  Lab - SITE

Miguel GarzonCrUise Lab - SITE

CSI3530 - PROJET 2013

Symmetric Hash Join

Page 2: Miguel  Garzon CrUise  Lab - SITE

Instructions

• Travaillez sur les machines à SITE

• Ou connectez-vous via SSH

• Utilisez la version 8.1.4 de PostgreSQL

• Travaillez en groupes de 3-4 personnes

• Date limite: Décembre 8 2010

• Si vous avez de difficultés techniques, envoyez moi une capture d’écran (print screen) et de details (stack trace) sur l’erreur

Page 3: Miguel  Garzon CrUise  Lab - SITE

Introduction

• Vous allez implémenter la technique ‘Symmetric Hash Join’

• Le but est de vous donner l’expérience avec un SGBD de production.

• Vous allez implémenter des nouvelles fonctionnalités en rapport avec la performance du SGBD (feature performance)

• Votre tâche se concentre sur l’optimiseur et l’exécuteur du SGBD.

Page 4: Miguel  Garzon CrUise  Lab - SITE

Barème d’évaluation

• Rapport explicatif - 10% (Optionnel) (3-5 pages)– Explication de l’algorithme– Test cases

Exactitude du code (60%)

-Code compile?-Système répond correctement aux requêtes de test

Efficacité de l’algorithme (30%)

-Selon l’`énoncé du projet.-Voir section 10.8.1

Clarté(10%)

- Noms de variables, commentaires, etc.

Page 5: Miguel  Garzon CrUise  Lab - SITE

Quoi soumettre?

• nodeHashjoin.c• nodeHash.c• execnodes.h• createplan.c.

Page 6: Miguel  Garzon CrUise  Lab - SITE

ANNEXES

Page 7: Miguel  Garzon CrUise  Lab - SITE

How do I know it's working? Testing your Code

• You are a Guru, don’t test it, send it to me!• Otherwise,

– Disable other join operators to force the query optimizer to use your join operator.

– Create at least two tables, do a join of those two tables (equality join).

– Validate the results.

Page 8: Miguel  Garzon CrUise  Lab - SITE

How do I know it's working? Testing your Code

1. Type in console:

initdb data

This will initialize storage for the DBMS within your home directory in the pgdata directory.

You should see a message indicating SUCCESS. (See slides from lab1)

2. Start server :

pg_ctl start

3. Create a db

createdb

4. Interact with db

psql

To stop:

pg_ctl stop

Page 9: Miguel  Garzon CrUise  Lab - SITE
Page 10: Miguel  Garzon CrUise  Lab - SITE

Postgresql

• La tâche du planificateur/optimiseur est de créer un plan d'exécution optimal. En fait, une requête SQL donnée (et donc, l'arbre d'une requête) peut être exécutée de plusieurs façons, chacune arrivant au même résultat. Si ce calcul est possible, l'optimiseur de la requête examinera chacun des plans d'exécution possibles pour finir par sélectionner le plan d'exécution estimé comme étant le plus rapide.

• L'exécuteur prend le plan envoyé par le planificateur/optimiseur et l'exécute récursivement pour extraire l'ensemble requis de lignes. Il s'agit principalement d'un mécanisme de pipeline en demande-envoi. Chaque fois qu'un nœud du plan est appelé, il doit apporter une ligne supplémentaire ou indiquer qu'il a fini d'envoyer des lignes.

Page 11: Miguel  Garzon CrUise  Lab - SITE

Additional Help

• http://doxygen.postgresql.org/: Source code browser