1 11 1 11 June 2003LCG Applications Area Meeting Conditions DataBase Overview of existing projects Andrea Valassi (CERN IT-DB)

Slides:



Advertisements
Similar presentations
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Advertisements

Chapter 10: Designing Databases
Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
Chapter 4 : File Systems What is a file system?
March 24-28, 2003Computing for High-Energy Physics Configuration Database for BaBar On-line Rainer Bartoldus, Gregory Dubois-Felsmann, Yury Kolomensky,
CERN - IT Department CH-1211 Genève 23 Switzerland t LCG Persistency Framework CORAL, POOL, COOL – Status and Outlook A. Valassi, R. Basset,
1 Databases in ALICE L.Betev LCG Database Deployment and Persistency Workshop Geneva, October 17, 2005.
D. Düllmann - IT/DB LCG - POOL Project1 POOL Release Plan for 2003 Dirk Düllmann LCG Application Area Meeting, 5 th March 2003.
Experience with the Open Source based implementation for ATLAS Conditions Data Management System Jorge Lima - FCUL21 March 2003CHEP 2003 A.Amorim, J.Lima,
6/24/2015B.RamamurthyPage 1 File System B. Ramamurthy.
7/15/2015B.RamamurthyPage 1 File System B. Ramamurthy.
CSE 781 – DATABASE MANAGEMENT SYSTEMS Introduction To Oracle 10g Rajika Tandon.
HPS Online Software Discussion Jeremy McCormick, SLAC Status and Plans.
Conditions DB in LHCb LCG Conditions DB Workshop 8-9 December 2003 P. Mato / CERN.
Alignment Strategy for ATLAS: Detector Description and Database Issues
LHC: ATLAS Experiment meeting “Conditions” data challenge Elizabeth Gallas - Oxford - August 29, 2009 XLDB3.
Time and storage patterns in Conditions: old extensions and new proposals António Amorim CFNUL- FCUL - Universidade de Lisboa ● The “Extended”
Software Solutions for Variable ATLAS Detector Description J. Boudreau, V. Tsulaia University of Pittsburgh R. Hawkings, A. Valassi CERN A. Schaffer LAL,
Bookkeeping Tutorial. Bookkeeping & Monitoring Tutorial2 Bookkeeping content  Contains records of all “jobs” and all “files” that are created by production.
CHEP 2006, Mumbai13-Feb-2006 LCG Conditions Database Project COOL Development and Deployment: Status and Plans Andrea Valassi On behalf of the COOL.
Databases E. Leonardi, P. Valente. Conditions DB Conditions=Dynamic parameters non-event time-varying Conditions database (CondDB) General definition:
PI Data Archive Server COM Points Richard Beeson.
4/5/2007Data handling and transfer in the LHCb experiment1 Data handling and transfer in the LHCb experiment RT NPSS Real Time 2007 FNAL - 4 th May 2007.
ALICE, ATLAS, CMS & LHCb joint workshop on
ATLAS Detector Description Database Vakho Tsulaia University of Pittsburgh 3D workshop, CERN 14-Dec-2004.
Clara Gaspar, March 2005 LHCb Online & the Conditions DB.
The Persistency Patterns of Time Evolving Conditions for ATLAS and LCG António Amorim CFNUL- FCUL - Universidade de Lisboa A. António, Dinis.
Tutorial 13 Validating Documents with Schemas
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
ATLAS Offline Database Architecture for Time-varying Data, with Requirements for the Common Project David M. Malon LCG Conditions Database Workshop CERN,
ALICE Condition DataBase Magali Gruwé CERN PH/AIP Alice Offline week May 31 st 2005.
CERN - IT Department CH-1211 Genève 23 Switzerland t COOL Conditions Database for the LHC Experiments Development and Deployment Status Andrea.
Peter Chochula ALICE Offline Week, October 04,2005 External access to the ALICE DCS archives.
CE Operating Systems Lecture 17 File systems – interface and implementation.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
LCG Application Area Meeting28-Jan-2004 Report on the Conditions Database Workshop (CERN 8-9 Dec. 2003) Andrea Valassi (CERN IT-DB)
Bookkeeping Tutorial. 2 Bookkeeping content  Contains records of all “jobs” and all “files” that are produced by production jobs  Job:  In fact technically.
New COOL Tag Browser Release 10 Giorgi BATIASHVILI Georgian Engineering Center 23/10/2012
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
LCG Meeting with LHCC referees22-Mar-2004 Conditions Database Status & Plans A. Valassi & D.Duellmann CERN IT-DB
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Pool Project and ROOT I/O Dirk Duellmann What is Pool? Component Breakdown Status and Plans.
The Lisbon Team - 8 December 2003The Lisbon team - 25 November 2003 ConditionsDB – Lisbon API Wide access to CondDB data and schema LCG Conditions DB Workshop.
Andrea Valassi (CERN IT-DB)CHEP 2004 Poster Session (Thursday, 30 September 2004) 1 HARP DATA AND SOFTWARE MIGRATION FROM TO ORACLE Authors: A.Valassi,
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
Overview of C/C++ DB APIs Dirk Düllmann, IT-ADC Database Workshop for LHC developers 27 January, 2005.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
The DCS Databases Peter Chochula. 31/05/2005Peter Chochula 2 Outline PVSS basics (boring topic but useful if one wants to understand the DCS data flow)
Summary of persistence discussions with LHCb and LCG/IT POOL team David Malon Argonne National Laboratory Joint ATLAS, LHCb, LCG/IT meeting.
G.Govi CERN/IT-DB 1GridPP7 June30 - July 2, 2003 Data Storage with the POOL persistency framework Motivation Strategy Storage model Storage operation Summary.
Detector Description (Overview) C.Cheshkov. 25/9/2006Detector Description (C.Cheshkov)OutlineTerminology Overview on: Detector geometry implementation.
D. Duellmann - IT/DB LCG - POOL Project1 Internal Pool Release V0.2 Dirk Duellmann.
Conditions Database Status and Plans for 2005 Andrea Valassi (CERN IT-ADC) LCG Applications Area Review 31 March 2005.
Maria del Carmen Barandela Pazos CERN CHEP 2-7 Sep 2007 Victoria LHCb Online Interface to the Conditions Database.
CHAPTER 9 File Storage Shared Preferences SQLite.
POOL Based CMS Framework Bill Tanenbaum US-CMS/Fermilab 04/June/2003.
L1Calo Databases ● Overview ● Trigger Configuration DB ● L1Calo OKS Database ● L1Calo COOL Database ● ACE Murrough Landon 16 June 2008.
Databases and DBMSs Todd S. Bacastow January 2005.
(on behalf of the POOL team)
POOL persistency framework for LHC
Dirk Düllmann CERN Openlab storage workshop 17th March 2003
First Internal Pool Release 0.1
New developments on the LHCb Bookkeeping
Chapter 11: File System Implementation
Data, Databases, and DBMSs
Data Lifecycle Review and Outlook
File System B. Ramamurthy B.Ramamurthy 11/27/2018.
ICOM 5016 – Introduction to Database Systems
Andrea Valassi Pere Mato
Offline framework for conditions data
Presentation transcript:

June 2003LCG Applications Area Meeting Conditions DataBase Overview of existing projects Andrea Valassi (CERN IT-DB)

Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database What is the ConditionsDB? The ConditionsDB is a package to handle data that –Can be classified into many independent data items –VARY IN TIME –Can have many different versions (for a given time and data item) Pere Mato (Feb 2000)

Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database History Feb.2000: “CondDB Interface Specification Proposal” by Pere Mato (LHCb) Feb.2000-Sep.2000: Requirement collection by Stefano Paoli (IT-DB) –Emphasis on functional requirements and definition of C++ API –Active participation by many experiments (Harp, Compass, LHCb, Atlas…) –Earlier experience in BaBar and RD45 taken into account Oct.2000–Oct.2001: Objy implementation by Stefano Paoli et al. (IT-DB) Apr.2001-Oct.2002: Harp and Compass data-taking using Objy CondDB Mar.2002-Aug.2002: Oracle implementation by Emil Pilecki (IT-DB) –Objy  Oracle migration tool developed for Compass and Harp Jun.2002-Jun.2003: MySQL implementation by Jorge Lima et al. (Atlas) –More requirements collected from Atlas users, leading to API extensions May.2003: “Proposal to bring CondDB into LCG AA” by Pere Mato Jun.2003: Atlas test beam data-taking using MySQL CondDB

Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Original API and functionality Objectivity and Oracle implementations

Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Data item classification CondDB “folder” –All condition data of a given item (for various times and versions) –Different folders contain measurements of different physical observables CondDB “folder set” –A collection of related folders and/or folder sets Folders and folder sets are identified by Unix-like path names –e.g., folder “/ConditionsDB/SlowControl/Ecal/Module1/Temperature” Like a Unix file (with all condition data for a data item for various times/versions) –e.g., folder set “/ConditionsDB/SlowControl/Ecal/Module1/” Like a Unix directory containing files (folders) and/or other directories (folder sets) The ConditionsDB was initially optimized to handle time-varying data –No emphasis on data hierarchies more complex than directory-like –No relational-DB-like functionality for folder addressing SQL-like “type=Slow,det=Ecal,Module=1” rather than “/SlowControl/Ecal/Module1/” ? This may be useful to associate attributes to folders (“magnet on” vs “magnet off”)?

Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Stored data type: byte stream Every “CondDBObject” (the atomic unit of storage) has associated: –Metadata: (1) folder name, (2) time validity interval, (3) version number –Data: a BYTE STREAM –Suggested granularity: a chunk of related data values that are measured all at the same time is best stored as a single CondDB object (i.e., in the same folder) Storing a byte stream allows the flexibility of very different choices –Human-readable strings of characters Embedded XML strings (LHCb) External object refs: Objy OOID (Atlas), RDBMS refs, POOL refs… External file names: XML files, ROOT files, ASCII files (Harp)… –Streamed vectors of numbers (Harp, Compass), ROOT objects, DATE records… Storage of complex data structures: limitation of present API? –Data values with the same time granularity (data contents of one CondDB object) can be grouped into one XML string, streamed object or external file –But API generally lets external frameworks decode internal substructures Additional (4 th ) metadata dimension may be useful (variable name and type)? Naturally mapped to RDBMS (user defined folder/table), storage/query optimization Steps in this direction in the Lisbon extended API

Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Time validity Time instances are of CondDBKey type –Defined as 64-bit signed integer (_int64, long long) –Flexible enough to indicate actual times, run numbers, … e.g., store actual times as “nanoseconds since Jan 1, 1970” –translate (run#, event#) pairs to nanoseconds using bookkeeping information Each data block is stored with a ‘[since,till)‘ range –Two values (time range) are needed for storing –A single value (time instance) is needed for retrieval Always together with a folder name and a version/tag Can also retrieve an iterator over consecutive intervals (within a tag) Condition data in CondDB and event data are loosely coupled by design –Conditions and events are stored separately and related only by the event time –Data synchronization is left to individual frameworks Only frameworks have notion of “time of event being reconstructed” Usually a global tag would be used Should a common data cache synchronization layer be developed?

Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Different versions of a condition object may exist –In the same folder and for the same validity time –e.g., the alignment constants may be recalculated several times Folder tags identify a consistent set in a given folder –i.e. a set of blocks such that 0 or 1 block is valid at any given time –Similar to CVS tag mechanism –Tagged sets are needed by read users (e.g. reconstruction /analysis jobs) –Iterators allow to retrieve the next object (by validity time) within the tag Only the HEAD version of a folder can be tagged –The HEAD is automatically maintained self-consistent when data are inserted –If the new version has a different validity range, previous versions are split into more than one objects, one of which may belong to the HEAD Tags are identified by their name –The same name may be used in more than one folder (~ “global tag”) –It is also possible to associate a new tag to an existing tagged set (~ “re-tag”) Versioning and tagging

Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Data partitioning (Objy/Oracle) Advantages of partitioning –scalability, archiving, backup, data distribution, … Partitioning by folder –Objy-based: data partitioned on different database files in one FDB New folders and folder sets can be associated to separate database files –Oracle-based: data partitioned on different table partitions in one DB Different folders are automatically stored in separate table partitions Partitioning by time range –Pre-defined partitioning of individual folders by time range not possible Was discussed in the past but not yet defined or implemented Internal partitioning –Objy-based: new database files are automatically open if one becomes full –Oracle-based: hash subpartitioning API foresees user-defined criteria for partitioning –Some (too much!) freedom of interpretation exists in the API implementations –Should be revisited and enhanced

10 Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database C++ abstract interfaces ICondDBMgr –top level entry (allows to retrieve data access, tag manager, folder manager) –technology-dependent initialization –create new CondDB, open existing CondDB –start, commit, abort transactions ICondDBDataAccess –store objects –find objects by (folder,tag,time) –retrieve iterators to browse objects in tag ICondDBFolderMgr –create folders and folder sets –retrieve existing folder sets and folders in a folder set ICondDBTagMgr –create, delete, retrieve tags –tag HEAD version of a folder –associate a new tag to an existing tagged set; untag a tagged set

11 Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Technology migration The C++ abstract interface provides an insulation layer –Users can write 99% of their code in a technology independent manner –Only the initialization parameters are implementation-dependent –A technology migration involves only minor changes to the user code A data-migration tool has been developed –Two-step process: export to temporary data file + import from file –It uses only the abstract C++ interface for both export and import Initially developed by Stefano for Objy  Objy Readapted and tested by Emil for Objy  Oracle (Compass migration) Easily readaptable to other storage technologies Run-time choice of API implementation is also possible –I tested Oracle/MySQL (some rewriting to avoid name conflicts) –Different data can be stored using different backends if desired

12 Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Example: CondDB in LHCb No production data are stored in the CondDB yet Emphasis of prototyping on interface to Gaudi data/conversion services –XML strings are stored in the CondDB and must be XML-interpreted –Gaudi DataSvc (Cache manager) has a CondDB opaque address Folder name from file-based XML detector description e.g. Tag name from job options file Event time from EventDataSvc –Stored data type (here, XML) and classID retrieved from folder “description” A second, temporary, opaque address is created of XML type to trigger XML parsing Stored XML content can of course reference other file-based or CondDB-based XML Cache (transient store) synchronization mechanism triggered on demand –dataService->updateObject(object)

13 Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Extended API and functionality MySQL implementation Many thanks to the Atlas Lisbon group: Antonio Amorim, Jorge Lima, Dinis Klose, Luis Pedro

14 Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Extended API API extension driven by needs of Atlas test beam users –Detector slow control (temperatures, voltages) monitored via PVSS –Support added for “tiny objects” mapped to PVSS “data-points” Readily implemented in MySQL (no Oracle implementation so far) –A portable PVSSManager module using CondDB via its API was also developed Special folders can be created to store PVSS data points –Two types of folders coexist: default (strings) and PVSS (tiny objects) Separate methods to create folders, store/retrieve/browse objects –API modification consists in addition of only four methods –No versioning/tagging is foreseen in PVSS folders Designed for online data-taking (slow control) rather than (re-)alignment “Tiny object” support is not specific to PVSS –float/int/… values rather than opaque byte streams Also arrays (of fixed length, each element may be of different type) –Methods mention PVSS in their names, they will all be renamed May be a good occasion for wider discussion of API and CondDB object data content

15 Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Implementation issues (MySQL) Ad-hoc partitioning –Each table corresponds to one file in MySQL, no native partitioning Postgres implementation is being prototyped to overcome this problem –ConditionsDB partitioning by allocating a separate table for each folder Individual tables may be spread across different MySQL databases Relational schema redesigned to accommodate tiny objects –float, int, bool, string, char, time stored natively in MySQL columns –Future handling of schema evolution is being thought about Supported platforms –Linux (gcc2.95.2, gcc3.2, gcc3.3), Windows (VS,.NET) Oracle implementation: Linux (gcc2.95.2), Windows (VS) –Windows is very useful for PVSS users (e.g. Atlas test beams)

16 Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Lisbon group plans till end 2003 Respond to feedback from Atlas Muon test beam users –This will be the highest priority: data-taking started last week! Improve API for tiny objects –Generalize and rename relevant methods (remove reference to PVSS) Define API for and implement extended tagging mechanism –Attach user tags to CondDB objects at creation time (rather than tag HEAD) Develop two graphical tools to browse the ConditionsDB contents –One Web-based using jsp (calling C++ methods via JNI), another using ROOT –Both based on the API (portable to other CondDB implementations) –Both allowing read-only access for the moment Extend API with support for XML storage Extend API with support for ROOT objects with external references Prototype a Postgres implementation in alternative to MySQL

17 Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Expectations from a common LCG project Summary Thanks for their comments to Clara Gaspar, Pere Mato, Fons Rademakers…

18 Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Feedback and comments (1) Development of tools is felt as a very high priority –Tools to slice/export the data into subsamples for distribution purposes Need cross-platform portability (Oracle MySQL) Distribution to laptops (individual users), distribution over Grid (production centers) Exporting a DB referencing external files should allow to distribute those files too May also require changes or new conventions in the API for partitioning – Graphical data browsers with editing capabilities Slicing, tagging, retagging… Interest in file-based backends (ROOT, XML, …) –For distribution on very lightweight systems (no Oracle, no MySQL installed) POOL-software independence should be preserved –To allow the use of the CondDB even if POOL is not used (e.g. in Alice) –No contradiction with POOL-project integration

19 Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Feedback and comments (2) PVSS interface may become less important in the long run –Next version of PVSS will have built-in Oracle data store May be used for online debug of controls/DAQ, no need for CondDB there (e.g. LHCb) –PVSS raw data volume at LHC too large to be stored in the CondDB Only pre-filtered information is likely to end up in the CondDB Extended tagging mechanisms may be needed in the API –And/or provide models to solve common use cases with existing API: Distinguish data added by different users or under different configurations… Recover versions HEAD-1, HEAD-2, to make up for mistakes…

20 Andrea Valassi IT-DBLCG AAM, 11 June 2003Conditions Database Summary Common API exists to store time-varying data in a “Conditions DB” –Discussed with many experiments, used for data-taking by Compass and Harp –Several backends share the same abstract interface Oracle implementation maintained by IT-DB –With the corresponding CondDB service (Oracle server management) –CondDB Objy implementation dropped soon (Objy support discontinued) MySQL implementation maintained by Atlas Lisbon group –Extending functionalities and API beyond the original project –Technology-independent tools under development (WWW/ROOT GUI’s) An LCG common project has been proposed See next talk by Torre