Recommendations for a Table Access Protocol Ray Plante, Tamas Budavari, Gretchen Greene, John Goode, Tom McGlynn, Maria Nieto-Santistaban, Alex Szalay,

Slides:



Advertisements
Similar presentations
IVOA Interop, Cambridge UK, IVOA Data Access Layer Table Access Protocol Analysis Doug Tody (NRAO/NVO ) I NTERNATIONAL V IRTUAL O BSERVATORY A LLIANCE.
Advertisements

May 18, 2006IVOA Interoperability Meeting Fine-grained vs. Coarse-grained Registries or How much detail about a resource should be stored in a registry?
TAP Meeting, JHU Nov IVOA Data Access Layer Table Access Protocol Doug Tody (NRAO/NVO ) I NTERNATIONAL V IRTUAL O BSERVATORY A LLIANCE US National.
28 October 2008 IVOA Interoperability Meeting -- Baltimore T HE I NTERNATIONAL V IRTUAL O BSERVATORY ALLIANCE TAP/VOTable Registry Interface Reg 1 – G.
September 13, 2004NVO Summer School1 VO Protocols Overview Tom McGlynn NASA/GSFC T HE US N ATIONAL V IRTUAL O BSERVATORY.
September 13, 2004NVO Summer School1 VO Protocols Overview Tom McGlynn NASA/GSFC T HE US N ATIONAL V IRTUAL O BSERVATORY.
9 September 2005NVO Summer School Aspen Astronomical Dataset Query Language (ADQL) Ray Plante T HE US N ATIONAL V IRTUAL O BSERVATORY.
Aus-VO Workshop 2003 International Virtual Observatory Alliance effort on Virtual Observatory Query Language Naoki Yasuda (JVO), VOQL WG.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification.
CASDA Virtual Observatory CSIRO ASTRONOMY AND SPACE SCIENCE Arkadi Kosmynin 11 March 2014.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
Introduction to Structured Query Language (SQL)
The Relational Database Model. 2 Objectives How relational database model takes a logical view of data Understand how the relational model’s basic components.
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
Introduction to Structured Query Language (SQL)
Concepts of Database Management Sixth Edition
CORE 2: Information systems and Databases STORAGE & RETRIEVAL 2 : SEARCHING, SELECTING & SORTING.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
Introduction to SQL Structured Query Language Martin Egerhill.
XML, distributed databases, and OLAP/warehousing The semantic web and a lot more.
T HE I NTERNATIONAL V IRTUAL O BSERVATORY ALLIANCE VAO Registry Relational Schema: Updates and New Interface(s) Theresa Dower Registry WG 16 May 2013 IVOA.
2003 April 151 Data Centres: Connecting to the Real World Clive Page.
Chapter 3 Single-Table Queries
Supported by the National Science Foundation’s Information Technology Research Program under Cooperative Agreement AST with The Johns Hopkins University.
XML in SQL Server Overview XML is a key part of any modern data environment It can be used to transmit data in a platform, application neutral form.
Astronomical Data Query Language Simple Query Protocol for the Virtual Observatory Naoki Yasuda 1, William O'Mullane 2, Tamas Budavari 2, Vivek Haridas.
Introduction to XML. XML - Connectivity is Key Need for customized page layout – e.g. filter to display only recent data Downloadable product comparisons.
DateADASS How to Navigate VO Datasets Using VO Protocols Ray Plante (NCSA/UIUC), Thomas McGlynn and Eric Winter NASA/GSFC T HE US N ATIONAL V IRTUAL.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
1 Single Table Queries. 2 Objectives  SELECT, WHERE  AND / OR / NOT conditions  Computed columns  LIKE, IN, BETWEEN operators  ORDER BY, GROUP BY,
Searching Business Data with MOSS 2007 Enterprise Search Presenter: Corey Roth Enterprise Consultant Stonebridge Blog:
Using Special Operators (LIKE and IN)
Concepts of Database Management Seventh Edition
Chapter 10: The Data Tier We discuss back-end data storage for Web applications, relational data, and using the MySQL database server for back-end storage.
6 1 Lecture 8: Introduction to Structured Query Language (SQL) J. S. Chou, P.E., Ph.D.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
30 October 2008 IVOA Interoperability Meeting -- Baltimore T HE I NTERNATIONAL V IRTUAL O BSERVATORY ALLIANCE VOTable interface with Registry Joint Apps/DM/Registry.
Concepts of Database Management Seventh Edition Chapter 3 The Relational Model 2: SQL.
NSF DUE ; Wen M. Andrews J. Sargeant Reynolds Community College Richmond, Virginia.
William O’Mullane/ Tannu Malik - JHU IVOA Cambridge May 12-16, 2003 SkyQuery.Net SKYQUERY Federated Database Query System (using WebServices)
A Guide to SQL, Eighth Edition Chapter Four Single-Table Queries.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
IVOA Interop, Beijing, China, May IVOA Data Access Layer Working Group Sessions Doug Tody (NRAO/NVO ) Markus Dolensky (ESO/EuroVO) Data Access Layer.
16 May 2006IVOA Interoperability – Registries WG1 VOResource Schema v1.0 Release 6 Ray Plante NCSA T HE I NTERNATIONAL V IRTUAL O BSERVATORY A LLIANCE.
CSC314 DAY 8 Introduction to SQL 1. Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall SQL OVERVIEW  Structured Query Language  The.
 CONACT UC:  Magnific training   
Sept. 2004IVOA Meeting / Pune1 Virtual Observatory Query Language (VOQL) Working Group William O’Mullane For Masatoshi Oishi T HE US N ATIONAL V IRTUAL.
BTM 382 Database Management Chapter 8 Advanced SQL Chitu Okoli Associate Professor in Business Technology Management John Molson School of Business, Concordia.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Concepts of Database Management, Fifth Edition Chapter 3: The Relational Model 2: SQL.
COM621: Advanced Interactive Web Development Lecture 11 MySQL – Data Manipulation Language.
More SQL: Complex Queries, Triggers, Views, and Schema Modification
More SQL: Complex Queries,
Relational Database Design
Database Systems: Design, Implementation, and Management Tenth Edition
Cameron Blashka| Informer Implementation Specialist
Data Virtualization Tutorial: JSON_TABLE Queries
Searching Business Data with MOSS 2007 Enterprise Search
Searching Business Data with MOSS 2007 Enterprise Search
Oracle Analytic Views Enhance BI Applications and Simplify Development
Using SQL to Prepare Data for Analysis
Using Table Expressions
More SQL: Complex Queries, Triggers, Views, and Schema Modification
Contents Preface I Introduction Lesson Objectives I-2
Relational Database Design
Chapter 8 Advanced SQL.
Database Systems: Design, Implementation, and Management Tenth Edition
CSE591: Data Mining by H. Liu
Objectives In this lesson, you will learn to:
Presentation transcript:

Recommendations for a Table Access Protocol Ray Plante, Tamas Budavari, Gretchen Greene, John Goode, Tom McGlynn, Maria Nieto-Santistaban, Alex Szalay, Roy Williams T HE I NTERNATIONAL V IRTUAL O BSERVATORY A LLIANCE

19 September 2006IVOA Interoperability Meeting – Moscow2 Some Lessons Learned Experience with ADQL/x –Motivation behind ADQL/x: Query Transformation is commonly necessary –Few databases are 100% compliant with the SQL standard. »Transform to local SQL dialect –Semantic filtering possible (transforming metadata). –Easier to adapt to non-relational databases (e.g. XML database) Supposition: A pre-parsed form on the wire makes transformations easier to implement –Experience: Shifts parsing problem to the client – ACCESS BARRIER! Minor transformations can often be handled via simple SQL string manipulations More careful adherence to SQL92 would eliminate most common difference between native SQLs (TOP, functions) The emergence of parser/conversion tools make choice of wire format less important –Lesson: Allow string-based SQL on wire Stick closer to standard SQL syntax

19 September 2006IVOA Interoperability Meeting – Moscow3 Some Lessons Learned Regions and Cross-match –Magical function definitions (originally) functions did not specify what columns should be used in the calculation Cross-matching required certain, unspecified columns to appear in the response. –Consistency required in use of cross-match Implementation must be well defined Users will want to use same implementation at all sites being matched –Import/export of XML table data is costly Can we take advantage of fact that multiple surveys are on the same server? Implementing a SkyNode is hard –Can the simplest implementation send simple SQL to a database without tranformation? How might we benefit from these lessons in a Table Access Protocol?

19 September 2006IVOA Interoperability Meeting – Moscow4 TAP taps into a Table Set A collection of tables accessible via a single access URL –One or more tables –Join between tables is, in principle, is possible E.g. within a single DBMS or logical equivalent Table typically logically related –e.g. A CDS catalog, all tables of SDSS DR4 Collections can be aggregated for performance purposes –e.g. all CDS catalogs, SDSS+2MASS+FIRST Client can take advantage of tables being co-located –Local joins, XMatches

19 September 2006IVOA Interoperability Meeting – Moscow5 Character of a TAP Carrier protocol –GET, POST, or SOAP supportable –Some advanced queries may not be supportable with GET, POST Operations –Search Query Query format used –Native SQL, ADQL/s, ADQL/x, … Output format desired Top/Offset selections Disposition – what to do with results –Return to caller synchronously, save in store for later retrieval –Upload: returns a name and longevity –getCapabilities: what QL features are supported –TableSet: describe tables, columns available (as queryable tables?) Notice that Query Language does not require… –TOP/OFFSET –SELECT INTO –UPLOAD

19 September 2006IVOA Interoperability Meeting – Moscow6 Approach to a Standard Query Language Maximize adherence to SQL92 –Enable minimal transformation to native SQL –Makes string format convenient on wire XML format may defined (perhaps separately) if useful for an implementation Allow features to be grouped into sets for graduated support –Core language feature set –Protocols (e.g. TAP) indicate which sets are considered required, which optional –Protocol capability metadata declare support for which optional feature sets

19 September 2006IVOA Interoperability Meeting – Moscow7 Standard Query Language Basic Syntax Core Syntax SELECT id, ra, dec, jmag FROM objcat WHERE jmag < 18.0 –No SELECT INTO, no data manipulation –Optional: aliases, standard schema names SELECT p.id, p.ra, p.dec, m.jmag FROM survey.objcat p, survey.magnitudes m WERE m.jmag < 18.0 AND p.id=m.id –Core operators: AND, OR; >, =,, … BETWEEN, NOT BETWEEN, LIKE (string comparison) –Standard Function syntax supported Allow support for implementation-specific functions Core set of functions: abs(), pow(), ?… Extended Function Sets –Group other commonly supported functions into sets Trig, aggregators, … Service description can indicate support for whole groups Table Joins –Implicit joins (as above) part of core syntax –Explicit joins (INNER, OUTER?,…): extra-core ORDERBY (extra-core)

19 September 2006IVOA Interoperability Meeting – Moscow8 Standard Query Language Regions Enable explicit declaration of position types Position(p.ra, p.dec) Position(p.obsra, p.obsdec) Position(p.x, p.y, p.z) Position() – implementation determines default position* Position(p.ra-0.05, p.dec-0.05) *important for optimization Region testing functions return boolean RegionContains( [, } ) RegionContains('CIRCLE ICRS ', Position(p.ra, p.dec)) RegionContains('CIRCLE ICRS ') – implementation determines default position* Advantages –Eliminate magic: positions explicitly specified –Allow functions implemented either as stored procedures, or with simple string substitutions

19 September 2006IVOA Interoperability Meeting – Moscow9 User-supplied Tables UPLOAD, SELECT INTO not part of standard language –Protocol handles this separately Convention for naming user-supplied tables –Schema SELECT u.objid, u.flux, b.ra, b.dec, FROM u, sdss.photoprimary b WHERE u.objid=b.objid AND Contains('CIRCLE ICRS ') avoids collision with real schema names –Requires quotes to escape SQL parsing issues –Upload process assigns table name

19 September 2006IVOA Interoperability Meeting – Moscow10 Standard Query Language XMatch syntax XMatch: a table described as a function in the FROM clause SELECT u.objid, u.r, u.ra, u.dec, m.m_ra, m.m_dec, FROM u, sdss.photoprimary b, xChiSq(b,u) m WHERE b.r < u.g AND m.m_chisq <10 AND Contains('CIRCLE ICRS ') Application of function produces a query-able table An XMatch function definition includes –Definition of input values Should allow user to specify what position values in record to use! xChiSq(b.ra, b.dec, u.x, u.y, u.z) xChiSq(b.ra, b.dec, u) xChiSq(b.ra-0.05, b.dec-0.05, u) May provide syntax that allows implementation to decide for optimization –Definition of schema of generated table –Formal definition of calculation that produces those table values Advantages –Extendable to any sort of cross-match –Allows client to control exactly what is returned in result via std. SQL –Eliminates magic Disadvantage: departure from standard SQL

19 September 2006IVOA Interoperability Meeting – Moscow11 Registering a TAP Describing underlying collections –Simple single Table Set: described as part of TAP service record –Table Sets that access multiple surveys Register collections separately Refer to collections by identifier TAP Capabilities: –Query languages supported Native: vendor & version, notion of whats (not) allowed ADQL: sets of language features supported –Underlying protocols supported –Return formats supported –Dispositions supported (asynchronous mechanisms included)

19 September 2006IVOA Interoperability Meeting – Moscow12 A SkyPortal using TAP Portal uses capabilities to make best use of tables Nominally, SkyNode = Core+Regions+uploads+XMatch –Some TAP Implemenations may not be available for cross-match –A smart portal may work around limitations –Portal searches for TAP services with capabilities it requires