1 / 23

Sandro Fiore (sandro.fiore@unile.it) Alessandro Negro (alessandro.negro@unile.it)

The Grid Relational Catalog Project Tutorial. Sandro Fiore (sandro.fiore@unile.it) Alessandro Negro (alessandro.negro@unile.it) SPACI Consortium & University of Salento, Lecce. What we will see during the tutorial . Authorization Select Queries grelc-das-query-memory grelc-das-query-dime

theodoreg
Download Presentation

Sandro Fiore (sandro.fiore@unile.it) Alessandro Negro (alessandro.negro@unile.it)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Grid Relational Catalog Project Tutorial • Sandro Fiore (sandro.fiore@unile.it) • Alessandro Negro (alessandro.negro@unile.it) • 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 • https://grid.ct.infn.it/twiki/bin/view/GILDA/GRelCDataAccessService • https://grid.ct.infn.it/twiki/bin/view/GILDA/GRelCPortal • https://grid.ct.infn.it/twiki/bin/view/GILDA/GRelCPortalAdvanced

  3. Authorization framework • Before starting be sure you have a valid proxy … • To create a valid proxy, run the following command • grid-proxy-init • With this proxy you will be able to access the sakila database on 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 18500 -D database -Q 'select * from table' • query submission with chunking • grelc-das-query-memory -s hostname -p 18500 -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 18500 -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 18500 -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 18500 -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 18500 -D database -Q 'select * from table' -z • query submission with chunking • grelc-das-query-dime -s hostname -p 18500 -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 18500 -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 18500 -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 18500 -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 18500 -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 18500 -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 18500 -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 • grid-proxy-init • With this proxy you will be able to access the sakila database on grelc02.unile.it…

  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!

More Related