Download presentation
Presentation is loading. Please wait.
1
The Grid Relational Catalog Project
Tutorial Sandro Fiore, Ph.D. Salvatore Vadacca SPACI Consortium & University of Salento, Lecce
2
What we will see during the tutorial
Authorization Select Queries grelc-das-query-memory grelc-das-query-dime grelc-das-query-stream GRelC Portal
3
Authorization framework
Before starting be sure you have a valid proxy with the correct GRelC DAS Role To create a valid proxy, run the following command voms-proxy-init --voms gilda:/gilda/grelc/das/grid009.ct.infn.it/sakila/Role=grelc-db-select voms-proxy-init --voms gilda:/gilda/grelc/das/grelc02.unile.it/sakila/Role=grelc-db-select With this proxy you will be able to access the sakila database on grid009.ct.infn.it or grelc02.unile.it (only select statements)
4
Select Queries To carry out SELECT queries you can use the following commands grelc-das-query-memory grelc-das-query-dime grelc-das-query-stream These kinds of query were designed to address high performance
5
Single Query Memory Display help > grelc-das-query-memory -h
USAGE: query-das-memory [options] -s, --server VAL Sets GRelC DAS IP or hostname (default: localhost) -p, --port NUM Sets GRelC DAS port (default: 18500) -D, --database VAL Sets grid database name -Q, --query VAL Sets query value -c, --chunk NUM Sets chunk dimension (default:0 no chunk) -t, --table Prints result in table format (default) -x, --xml Prints result in xml format -H, --html Prints result in html format -h, --help Shows usage EXAMPLES: query submission without chunking grelc-das-query-memory -s hostname -p D database -Q 'select * from table' query submission with chunking grelc-das-query-memory -s hostname -p D database -Q 'select * from table' -c 50
6
Single Query Memory Submits a query and displays its result in tabular format. The result is transferred one-shot. > grelc-das-query-memory -s grelc02.unile.it -p D sakila -Q "select * from actor" -t Submits a query and displays its result in XML format. The result is transferred one-shot. > grelc-das-query-memory -s grelc02.unile.it -p D sakila -Q "select * from actor" -x Submits a query and displays its result in XML format. The result is transferred in chunks of 50 tuples. The result shown is exactly the same of example no. 3 > grelc-das-query-memory -s grelc02.unile.it -p D sakila -Q "select * from actor" -x -c 50
7
Single Query File Display help > grelc-das-query-dime -h
USAGE: query-das-dime [options] -s, --server VAL Sets GRelC DAS IP or hostname (default: localhost) -p, --port NUM Sets GRelC DAS port (default: 18500) -D, --database VAL Sets grid database name -Q, --query VAL Sets query value -c, --chunk NUM Sets chunk dimension (default:0 no chunk) -z, --gzip Compresses result file -t, --table Prints result in table format (default) -x, --xml Prints result in xml format -h, --help Shows usage EXAMPLES: query submission with compression grelc-das-query-dime -s hostname -p D database -Q 'select * from table' -z query submission with chunking grelc-das-query-dime -s hostname -p D database -Q 'select * from table' -c 50
8
Single Query File Submits a query and displays its result in tabular format. The result is transferred one-shot. > grelc-das-query-dime -s grelc02.unile.it -p D sakila -t -Q "select * from actor" Submits a query and displays its result in XML format. The result is transferred one-shot. > grelc-das-query-dime -s grelc02.unile.it -p D sakila -x -Q "select * from actor" Submits a query and displays its result in XML format. The result is transferred in chunks of 50 tuples. > grelc-das-query-dime -s grelc02.unile.it -p D sakila -x -Q "select * from actor" -c 50 Now, let's look at the files in your current folder. Each file is a resultset stored client-side. > ls -lrta
9
Single Query File Let's see what's inside one of the resultsets stored client-side. > more .grelc02.unile.it_18500_171-singlequery.xml Submits a query and displays its result in XML format. The result is compressed (using -z option) and transferred in chunks of 50 tuples. > grelc-das-query-dime -s grelc02.unile.it -p D sakila -x -Q "select * from actor" -z Now, let's look at the files in your current folder again. You can find a compressed and an uncompressed file for each resultset stored client-side. > ls -lrta
10
Single Query Stream Submits a query and displays its result in tabular format. The result is transferred by using data streaming. > grelc-das-query-stream -s grelc02.unile.it -p D sakila -t -Q "select * from actor" Submits a query and displays its result in XML format. The result is transferred one-shot. > grelc-das-query-stream -s grelc02.unile.it -p D sakila -x -Q "select * from actor"
11
GRelC Portal Authorization
Before starting be sure you have a valid proxy with the correct GRelC DAS Role To create a valid proxy, run one of the following commands voms-proxy-init --voms gilda:/gilda/grelc/das/grelc02.unile.it/sakila/Role=grelc-db-select --voms gilda:/gilda/grelc/das/grelc02.unile.it/Role=grelc-sys-host --voms gilda:/gilda/grelc/das/grelc02.unile.it/Role=grelc-sys-vspace voms-proxy-init --voms gilda:/gilda/grelc/das/grid009.ct.infn.it/sakila/Role=grelc-db-select --voms gilda:/gilda/grelc/das/grid009.ct.infn.it/Role=grelc-sys-host --voms gilda:/gilda/grelc/das/grid009.ct.infn.it/Role=grelc-sys-vspace With this proxy you will be able to access the sakila database on grid009.ct.infn.it or grelc02.unile.it and to administer Grid Databases and Hosts
12
Select your proxy
13
Adding one entry to the GRelC DAS List
14
Grid Databases Management
15
Tables Management
16
View Schema
17
View Data
18
Query Submission
19
Query Submission Let’s start with a simple select query...
select * from film This query retrieves all of the films available in the “sakila” database
20
Query Submission Let’s now retrieve a list of films whose length is longer than 90 minutes... select * from film where length > 90 Pretty cool! The GRelC Portal gives us a list of films
21
Query Submission Why do not we search a list of actors involved in the films listed before? select first_name, last_name, title, length from (film join film_actor on film.film_id=film_actor.film_id) join actor on actor.actor_id=film_actor.actor_id where length > 90 3 tables are now involved in our select query
22
Query Submission What if we want to know the film category of the films listed before? select category.name as category_name, first_name, last_name, title, length from (((film join film_actor on film.film_id=film_actor.film_id) join actor on actor.actor_id=film_actor.actor_id) join film_category on film.film_id = film_category.film_id) join category on category.category_id=film_category.category_id where length > 90 5 tables are now involved in our select query
23
Query Submission Let us now know who sells the films listed before, together with the category and the actors. select category.name as category_name, first_name, last_name, title, length from (((film join film_actor on film.film_id=film_actor.film_id) join actor on actor.actor_id=film_actor.actor_id) join film_category on film.film_id = film_category.film_id) join category on category.category_id=film_category.category_id where length > 90 8 tables are now involved in our select query You can enrich the query as you want, no matter how many tables are involved. If the DBMS understands your query, the GRelC DAS understands it too!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.