+ All Categories
Home > Documents > Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

Date post: 27-Mar-2015
Category:
Upload: mackenzie-grant
View: 219 times
Download: 3 times
Share this document with a friend
Popular Tags:
18
www.g-vo.org SimDB as a TAP service SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB )
Transcript
Page 1: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

SimDB as a TAP serviceSimDB as a TAP service

various TIG members(IVOA.IVOATheorySimDB)

Page 2: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

OverviewOverview

• History of SimDB • SimDB is a TAP service

– protocol– metadata

• Object relational mapping• TAP as information integration

protocol

Page 3: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

HistoryHistory

• Simple Numeric Access Protocol (SNAP)– Cambridge 2006– Victoria 2006

• follow DAL v2 S*AP (ala SSAP)– data model– queryData– getData (accessURL)

• LARGE simulations (“3+1D”/ “cosmological”/...)– too large for accessURL– getData more complex: cut-outs etc

• Separated in 2– Simulation database (SimDB)– Simulation Data Access Protocol (SimDAP)

Page 4: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

SimDBSimDB

• SimDB is a protocol for a database containing metadata about simulations– like a Simulation registry (DON’T MENTION

REGISTRY)• SimDB’s data model (SimDB/DM)

prescribes the database’s data model • Should support discovery of

simulations, i.e. queryData of SNAP– query expressions– result format

Page 5: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

SimDB/DM SimDB/DM relatively relatively complexcomplex

(see (see tomorrow)tomorrow)

Page 6: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

SimDB/TAPSimDB/TAP

• Claim: such a omplex model requires flexible query language– Choose ADQL

• Consequently(?) SimDB is a TAP service• Special: Predefined data model• Restrictions on required functionality

– sync-only ADQL queries mandated– no upload– ... (discuss tomorrow, TIG session)

• TAP 0.5, p10, comment about “inheriting services”

Page 7: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

SimDB/TAP_SCHEMASimDB/TAP_SCHEMA

• Requires relational model for SimDB/DM– “Object-Relational mapping”– Impedance mismatch– some “standard” approaches

• Expressed as– VODataService– TAP_SCHEMA inserts– “empty VOTable”

• VOTable serialisation of the TAP_SCHEMA tables

Page 8: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

OR mappingOR mapping

• class → table• attribute → column• reference → foreign key• composition → foreign key to

container• inheritance

Page 9: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

class → tableclass → table

CREATE TABLE t_Experiment (

ID BIGINT NOT NULL, -- Surrogate key

publisherDID VARCHAR(128) NOT NULL,

...

)

ALTER TABLE t_Experiment ADD CONSTRAINT pk_t_Experiment_ID PRIMARY KEY(ID);

Page 10: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

attribute → columnattribute → column

CREATE TABLE t_InputParameter (

ID BIGINT NOT NULL,

name VARCHAR(128) NOT NULL,

ucd varchar(128,

datatype varchar(32) NOT NULL,

multiplicity varchar(10),

...

)• Note: data type mapping required

Page 11: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

reference → foreign reference → foreign keykey

CREATE TABLE t_Experiment ( ID BIGINT NOT NULL, protocolID BIGINT NOT NULL,...)

ALTER TABLE t_Experiment ADD CONSTRAINT fk_t_Experiment_protocol FOREIGN KEY (protocolId) REFERENCES t_Protocol(ID);

Page 12: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

composition → foreign composition → foreign key to containerkey to container

CREATE TABLE t_Column (... containerId BIGINT NOT NULL, -- Table...); ALTER TABLE t_Column ADD CONSTRAINT fk_t_Column_container FOREIGN KEY (containerId) REFERENCES t_Table(ID);

Page 13: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

inheritanceinheritance

• Requirement:Each class, abstract and concrete, can be queried on– select * from Simulation– select * from Experiment– Select * from Resource

• Obtains all attributes, including inherited ones.

Page 14: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

inheritanceinheritance

Some “standard” approaches1. 1 table per class,

• no inherited attributes• primary key = foreign key to base

table

2. 1 table per hierarchy• gather columns from subclasses• DTYPE column

3. 1 table per concrete (= non-abstract) class, all attributes

Page 15: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

inheritance following 1inheritance following 1

CREATE TABLE t_Resource ( ID BIGINT IDENTITY NOT NULL, DTYPE VARCHAR(32) , ...);CREATE TABLE t_WebService ( ID BIGINT NOT NULL, ...);

ALTER TABLE t_WebService ADD CONSTRAINT fk_t_WebService_extends FOREIGN KEY (ID) REFERENCES t_Resource(ID);

Page 16: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

Add views, one per Add views, one per classclass

CREATE VIEW Resource AS

SELECT ID , DTYPE , name , description , referenceURL , created , updated , status FROM t_Resource

CREATE VIEW WebService AS

SELECT b.* , t.baseURL , t.type , t.registryId FROM t_WebService t , Resource b WHERE b.ID = t.ID

Page 17: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

CommentsComments(discussed tomorrow)(discussed tomorrow)

• Implementations in progress• Heterogeneity and quantities cause problems for

ADQL– Alberto’s proposal might help: fix units for

quantities (defined by vocabulary) – May need simpler, dedicated protocols

• How to register SimDB/TAP?• Extensions to DM allowed?• SimDB/REST+XML as well?• VOExplorer-like approach to browsing a SimDB

Page 18: Www.g-vo.org SimDB as a TAP service various TIG members (IVOA.IVOATheorySimDB)IVOA.IVOATheorySimDB.

www.g-vo.org

ConclusionsConclusions

• Approach might be used for– SIAP, SSA, Registry

• Not for– STC, Characterisation

• Is (??) already used/planned for– Atomic/molecular lines, Source catalogue

• Complexity of SimDB caused be heterogeneity – simpler for other cases

• Finally, need participation in SimDB effort.


Recommended