22
Taming the facility data explosion The ICAT system explained Damian Flannery NOBUGS 2008 Sydney ICAT

Taming the facility data explosion The ICAT system explained Damian Flannery NOBUGS 2008 Sydney ICAT

Embed Size (px)

Citation preview

Taming the facility data explosionThe ICAT system explained

Damian FlanneryNOBUGS 2008 SydneyICAT

Damian FlanneryThe Problem(s)ICAT

• Large Data Volumes• High Throughput • Proliferation of data formats• Multiple Data Analysis Step• Increasing complexity of data• Data Access requirements (Sharing and Restriction)• Versioning of data formats and associated software• Distributed Computation (accessed offline from research chain)• Common names and units for temperature, pressure etc. • Changing / differing metadata requirements • International users / federation of data from facilities• Relating to Proposals and Publications• Ontologies• Provenance (Creation, Ownership, History)• Governments want return on investment

What is ICAT ? ICAT is a database (with a well defined API) that provides a uniform interface to experimental data and a mechanism to link all aspects of research from proposal through to publication.

Access data anywhere via the web Annotate your data Search for data in a meaningful way

e.g. taxonomy, Sample, temperature, pressure etc

Share data with colleaguesAccess data via your own programs

(C++, Fortran, Java etc.) via the ICAT API

Identify potential collaborations Utilise integrated e-Science High-

Performance Computing and Visualisation resources

Link to data from your publicationsEtc.

Proposals

Once awarded beamtime at ISIS, an entry will be created in ICAT that describes your proposed experiment.

Experiment

Data collected from your experiment will be indexed by ICAT (with additional experimental conditions) and made available to your experimental team

Analysed Data

You will have the capability to upload any desired analysed data and associate it with your experiments.

Publication

Using ICAT you will also be able to associate publications to your experiment and even reference data from your publications.

B-lactoglobulin protein interfacial structureE

xam

ple

IS

IS P

rop

osa

lGEM – High intensity, high resolution

neutron diffractometer

H2-(zeolite) vibrational frequencies vs polarising

potential of cations

Damian FlanneryWhat is ICAT?ICAT

RDBMS

Web Services API

ICAT API

Command Line Tools

Glassfish / JBOSS

JavaC++Fortran

Data Storage/ Delivery System

Single Sign On

User Database System

Proposal System

Proposal System

Publication System

Publication System

e-Science Services

e-Science Services

Software RepositorySoftware

Repository

Damian FlanneryOverviewICAT

Damian FlanneryFederationICAT

RDBMS

Web Services API

ICAT API

Data Storage/ Delivery System

Single Sign On

User Database System

Proposal System

Proposal System

Publication System

Publication System

e-Science Services

e-Science Services

Software RepositorySoftware

Repository

RDBMS

Web Services API

ICAT API

Data Storage/ Delivery System

Single Sign On

User Database System

Proposal System

Proposal System

Publication System

Publication System

e-Science Services

e-Science Services

Software RepositorySoftware

Repository

RDBMS

Web Services API

ICAT API

Data Storage/ Delivery System

Single Sign On

User Database System

Proposal System

Proposal System

Publication System

Publication System

e-Science Services

e-Science Services

Software RepositorySoftware

Repository

ISIS

SNS ANSTO

Data Portal

Investigation

Publication KeywordTopic

Sample Sample ParameterDataset

Dataset ParameterDatafile

Datafile Parameter

InvestigatorReference / Proposal IdPrevious ReferenceFacilityInstrumentTitleAbstractEtc.

Name

Name/Units/Value etcSearchableIs Sample ParameterIs Dataset ParameterIs Datafile ParameterVerified

NameUnitsString ValueNumeric ValueRange TopRange BottomError

Full ReferenceURL

Repository

NameParent Id

Topic Level

User IdRole

NameChemical FormulaSafety Information

NameUnitsString ValueNumeric ValueRange TopRange BottomError

NameSample Id

Description

NameUnitsString ValueNumeric ValueRange TopRange BottomError

NameDescription

VersionLocation

FormatFormat Version

Create TimeModify Time

SizeChecksum

Related DatafileRelated Datafile

Parameter

Authorisation

Source Datafile IdDestination Datafile Id

RelationS/W Apllication

S/W Version

User IdRole e.g Admin, Deleter,

Updater, Reader, Creater, Downloader etc.

Element TypeElement Id

Damian FlanneryData ModelICAT

• Service Oriented Architecture» Services exposed as Web Services» User required to authenticate in order to obtain Session Token» Token is used in all subsequent API calls to for authorisation

• The API is modular in order to fit the needs of the facilities» Plugin own user database» Plugin data delivery system

• Chracteristics» Platform independent [Java]» Application Server independent [EJB3]» Database Independent (Almost!) [JPL] » Language independent [Web Services]

• Internals» Core functionality implemented as POJOs using JPA» For deployment EJB3 Session Beans bind the core API, user db and data delivery aspects

together» Services are unit tested using JUNIT» Services are logged at every interaction point using LOG4J

Damian FlanneryICAT APIICAT

Damian FlanneryICAT API ContinuedICAT

Damian FlanneryICAT ClientICAT

Damian FlanneryData PortalICAT

• Role based permissions» [Super]» Admin» Create» Delete» Update» Download» Read

• Data Policy» 3 year embargo on data (+1 if requested)» Commercial data is never made public» Instrument Scientists can access all data from their beamline» Calibration data is public» Any data that involves IPR (e.g. analysed) is private for perpetuity unless explicitly shared by

user

• SSL

Damian FlannerySecurityICAT

Technologies Used

» Java» NetBeans 6.1» Glassfish UR2» Ant» JUnit» JMeter» Log4J» EJB3» JPA» JAX-WS» JAXB» Oracle (10G / 11G)» Subversion

Damian FlanneryInstallation / DevelopmentICAT

DevelopmentInstallation» Any O/S» Oracle 10G/11G» Java 6 Update 6» Apache Ant v1.7+» Glassfish v2 UR2» Installed & Configured Cog Kit

» Unzip download bundle» Update properties files e.g.

database details» Run Ant commands

Damian FlanneryUser DatabaseICAT

Damian FlanneryData DeliveryICAT

Data Portal

ICAT API

Data.ISIS

User performs search via application e.g. Data Portal

Search is executed in ICAT

Permitted results are returned to application

11

11

22

33

33

22

Results are displayed to the user44

44

55User performs request to download datafile, multiple datafiles or dataset

55

66

ICAT creates http GET link and passes to back to user (routed through application)

sessionIdemail (optional)fileId(s) or datasetIdaction (i.e. download, zip, compressed)

66

User clicks http link77

77

Data.ISIS call ICAT API to check permissionssessionId & datafileId(s) or datasetId

88

88

Return Exception on failure or DownloadObject on success- userId- array [filename, cycle, run number]

9999

User gets their data!1010

1010

Damian FlanneryData Delivery ContinuedICAT

Client

Damian FlanneryXML IngestICAT

RDBMS

Web Services API

ICAT API

Data Storage/ Delivery System

Single Sign On

User Database System

Proposal System

Proposal System

Publication System

Publication System

e-Science Services

e-Science Services

Software RepositorySoftware

Repository

XSD

XM

LIng

est(

xml)

Investigatio

nId

Validation

BusinessSystem

InstrumentControl

Data Storage

ICATProposalSystem

Damian FlanneryISIS IntegrationICAT

Trigger•NXIngest•RawIngest

Damian FlanneryDevelopersICAT

Damian FlanneryFuture DevelopmentsICAT

• Release Data Portal to ISIS users• Move XML Ingest into asynchonous Message

Driven Bean• Rule-based policy implementation• Expand and improve the supplied interface• Proposal System integration• Publication System integration• Database independent• Consequence…• Look at issue/tickets & forum!

Damian FlannerySummaryICAT

• At ISIS» Volume of data ~4TB» ~3M datafiles (22 instruments, 330/hour)» 6.7GB metadata, 33M rows» 550+ unit & stress tests

• Attempt to solve problems as outlined earlier in this talk• Software characteristics

» Scalability» Maintainability» Reliability» Availability» Extensibility» Performance» Manageability» Security

• We want to drive this forward• We would like to do it in collaboration with other facilities

Damian FlanneryAcknowledgementsICAT

• ISIS» Robert McGreevy, Kenneth Shankland, Tom Griffin, Stuart Ansell» Freddie Akeroyd, Chris Moreton-Smith, Matt Clarke, Kevin

Knowles, Steven King, Adrian Hillier, Alex Hannon, Rob Dalgleish• e-Science

» Glen Drinkwater, Shoaib Sufi, Kerstin Kleese Van Dam, Laurent Lerusse, Rik Tyer, Phil Couch

» Gordon Brown, Kier Hawker, Carmine Coiffe» Roger Downing

Damian FlanneryQuestionsICAT

http://code.google.com/p/icatproject