1 11 1 Database Workshop for LHC Developers27-Jan-2005 Conditions Database Andrea Valassi (CERN IT-ADC)

Slides:



Advertisements
Similar presentations
March 24-28, 2003Computing for High-Energy Physics Configuration Database for BaBar On-line Rainer Bartoldus, Gregory Dubois-Felsmann, Yury Kolomensky,
Advertisements

CERN - IT Department CH-1211 Genève 23 Switzerland t LCG Persistency Framework CORAL, POOL, COOL – Status and Outlook A. Valassi, R. Basset,
CORAL and COOL news for ATLAS (update since March 2012 ATLAS sw workshop)March 2012 Andrea Valassi (IT-SDC) ATLAS Database Meeting 24 th October 2013.
CERN IT Department CH-1211 Genève 23 Switzerland t ES Discussion of COOL - CORAL - POOL priorities for ATLAS Andrea Valassi (IT-ES) For the.
1 Databases in ALICE L.Betev LCG Database Deployment and Persistency Workshop Geneva, October 17, 2005.
Peter Chochula, January 31, 2006  Motivation for this meeting: Get together experts from different fields See what do we know See what is missing See.
D. Düllmann - IT/DB LCG - POOL Project1 POOL Release Plan for 2003 Dirk Düllmann LCG Application Area Meeting, 5 th March 2003.
CERN - IT Department CH-1211 Genève 23 Switzerland t Partitioning in COOL Andrea Valassi (CERN IT-DM) R. Basset (CERN IT-DM) Distributed.
SEAL V1 Status 12 February 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Nightly Releases and Testing Alexander Undrus Atlas SW week, May
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.
Update on Database Issues Peter Chochula DCS Workshop, June 21, 2004 Colmar.
LHC: ATLAS Experiment meeting “Conditions” data challenge Elizabeth Gallas - Oxford - August 29, 2009 XLDB3.
ALMA Integrated Computing Team Coordination & Planning Meeting #1 Santiago, April 2013 Relational APDM & Relational ASDM models effort done in online.
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,
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:
Event Data History David Adams BNL Atlas Software Week December 2001.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
ALICE, ATLAS, CMS & LHCb joint workshop on
ATLAS Detector Description Database Vakho Tsulaia University of Pittsburgh 3D workshop, CERN 14-Dec-2004.
The Persistency Patterns of Time Evolving Conditions for ATLAS and LCG António Amorim CFNUL- FCUL - Universidade de Lisboa A. António, Dinis.
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
Introduction CMS database workshop 23 rd to 25 th of February 2004 Frank Glege.
ATLAS Offline Database Architecture for Time-varying Data, with Requirements for the Common Project David M. Malon LCG Conditions Database Workshop CERN,
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
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.
Integration of the ATLAS Tag Database with Data Management and Analysis Components Caitriana Nicholson University of Glasgow 3 rd September 2007 CHEP,
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
Database Competence Centre openlab Major Review Meeting nd February 2012 Maaike Limper Zbigniew Baranowski Luigi Gallerani Mariusz Piorkowski Anton.
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.
A. Valassi – Python bindings for C++ in PyCool ROOT Workshop – 16 th Sep Python bindings for C++ via PyRoot User experience from PyCool in COOL.
Oracle for Physics Services and Support Levels Maria Girone, IT-ADC 24 January 2005.
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.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
CERN IT Department CH-1211 Genève 23 Switzerland t COOL performance optimization using Oracle hints Andrea Valassi and Romain Basset (IT-DM)
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,
Overview of C/C++ DB APIs Dirk Düllmann, IT-ADC Database Workshop for LHC developers 27 January, 2005.
CERN IT Department CH-1211 Genève 23 Switzerland t COOL Performance Tests ATLAS Conditions Database example Romain Basset, IT-DM October.
CORAL CORAL a software system for vendor-neutral access to relational databases Ioannis Papadopoulos, Radoval Chytracek, Dirk Düllmann, Giacomo Govi, Yulia.
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.
Enabling Grids for E-sciencE INFSO-RI Enabling Grids for E-sciencE Gavin McCance GDB – 6 June 2007 FTS 2.0 deployment and testing.
Status of tests in the LCG 3D database testbed Eva Dafonte Pérez LCG Database Deployment and Persistency Workshop.
1 Configuration Database David Forrest University of Glasgow RAL :: 31 May 2009.
Database Issues Peter Chochula 7 th DCS Workshop, June 16, 2003.
D. Duellmann, IT-DB POOL Status1 POOL Persistency Framework - Status after a first year of development Dirk Düllmann, IT-DB.
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.
ATLAS The ConditionDB is accessed by the offline reconstruction framework (ATHENA). COOLCOnditions Objects for LHC The interface is provided by COOL (COnditions.
CERN - IT Department CH-1211 Genève 23 Switzerland t Persistency Framework CORAL, POOL, COOL status and plans Andrea Valassi (IT-PSS) On.
Barthélémy von Haller CERN PH/AID For the ALICE Collaboration The ALICE data quality monitoring system.
ATLAS Distributed Computing Tutorial Tags: What, Why, When, Where and How? Mike Kenyon University of Glasgow.
L1Calo Databases ● Overview ● Trigger Configuration DB ● L1Calo OKS Database ● L1Calo COOL Database ● ACE Murrough Landon 16 June 2008.
INFN Tier1/Tier2 Cloud WorkshopCNAF, 22 November 2006 Conditions Database Services How to implement the local replicas at Tier1 and Tier2 sites Andrea.
L1Calo DBs: Status and Plans ● Overview of L1Calo databases ● Present status ● Plans Murrough Landon 20 November 2006.
Database Replication and Monitoring
(on behalf of the POOL team)
Database Readiness Workshop Intro & Goals
POOL persistency framework for LHC
Dirk Düllmann CERN Openlab storage workshop 17th March 2003
Conditions Data access using FroNTier Squid cache Server
LHCb Conditions Database TEG Workshop 7 November 2011 Marco Clemencic
Andrea Valassi Pere Mato
Presentation transcript:

Database Workshop for LHC Developers27-Jan-2005 Conditions Database Andrea Valassi (CERN IT-ADC)

Andrea Valassi IT-ADC27-Jan-2005Conditions Database Outline Apologies: I will not cover any database internal details Some other time, after the software is released and stable Overview Work plan, manpower, status Software details

Andrea Valassi IT-ADC27-Jan-2005Conditions Database What are conditions data? Non-event detector data that vary with time –And may also exist in different versions Data producers from both online and offline –Geometry, readout, slow control, alignment, calibration... Data used for event processing and more –Detector experts –Alignment and calibration –Event reconstruction and analysis Other presentations for fewer, or more, details –3D Workshop presentationpresentation –October AAM presentationspresentations –CHEP presentationspresentations

Andrea Valassi IT-ADC27-Jan-2005Conditions Database About the “common” project… © KUKUXUMUSU Somewhat challenging to identify common requirements Reading the XML BLOB containing the LHCb calibration data valid for the event processed Storing Atlas high voltages from PVSS into MySQL whenever the values change (every few seconds) Reading Alice alignment from the ROOT files for the run processed Registering that the CMS detector geometry in a set of Oracle tables is valid for 2008 and 2009 Retrieving the POOL alignment object for the run processed

Andrea Valassi IT-ADC27-Jan-2005Conditions Database Commonalities? Project goals and non-goals Project non-goals (experiment-common, not conditionsDB-specific) –Generic C++ access to relational databases (  POOL project: RAL) –Generic relational database deployment and data distribution (  3D project) Integration with data distribution infrastructure, however, is a project goal Project goals (experiment-common, conditionsDB-specific) –Common software and tools for non-event time-varying versioned data You will need to work a lot to customize the common solution to your needs! Central coordination of activities inside each experiment is a necessity Project non-goals (experiment-specific) –Specific data models for calibration/geometry/… (  experiments) –Specific payload format encoding (  experiments) That is to say: how you use relational databases, RAL or POOL is up to you! –Specific time encoding and other conventions (  experiments)

Andrea Valassi IT-ADC27-Jan-2005Conditions Database LCG integration of existing Oracle and MySQL packages –Latest release CONDDB_0_2_0 in July –Atlas test beam data taking using the Lisbon MySQL API and implementation –Main problems: lack of development manpower and divergence of two packages In parallel: coordinate discussion about new API, software and tools –Review limitations of current API and software –Collect new user requirements Decision to start a new implementation taken at the AAM mid-October –Work plan circulated beginning of November –First two milestones due in December and the next one last week Overview - first phase of the project (Dec 2003-Oct 2004)

Andrea Valassi IT-ADC27-Jan-2005Conditions Database Original “common API” Designed to handle data “objects” that –Can be classified into independent data items –VARY WITH TIME –May have different versions (for given time and data item) Pere Mato (Feb 2000) A “CondDBObject” A CondDBObject has –Metadata: Data item identifier Start-of-time-validity End-of-time-validity Version number –Data “payload”: Encoded as BLOB/string

Andrea Valassi IT-ADC27-Jan-2005Conditions Database Atlas-Lisbon API extensions Support for data payload other than BLOBs –“ICondDBTable” interface for user-defined data fields –ICondDBTable “with ID” for improved data item addressing Support for “online” data not requiring versioning –Measured (temperature) rather than computed (alignment) MySQL implementation of extended API –Useful tools built above extensions (PVSS, data browser) –Used for Atlas test beams and integrated with Athena

Andrea Valassi IT-ADC27-Jan-2005Conditions Database Why a new software implementation? CondDBOracle: poor performance and missing functionalities –Bulk insertion and retrieval missing in key points of the code: very slow! –No user defined data payload (only BLOBs) –No online mode (only versioned data) CondDBMySQL: improvements necessary in the API and schema –Cleaner API: whole table vs. individual row (object); schema vs. data –Unified approach to schema and code for online and versioned conditions data Minimize differences between Oracle and MySQL implementations –Use the same data model and schema to simplify data copy across backends –Address new user requirements (eg user tags, HVS) using a unified approach –Minimize duplication of effort, factor out common code whenever possible Maximize integration with and reuse of LCG software (SEAL/POOL) –Utilities (Time, AttributeList), Plugin management, RAL, POOL integration…

10 Andrea Valassi IT-ADC27-Jan-2005Conditions Database New software - overview Single implementation for Oracle/MySQL using RAL –Strictly the same relational schema for both back-ends –Direct implementations (MySQL, OCCI, …) may always come later User-defined data payload modeled by POOL AttributeList –Support for simple types (int, float, bool, string) of various precisions –Support for BLOB data type as just one of many possible data types Support both versioned data and online non-versioned data –Start with online data (simpler), then focus on offline (main use case)

11 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Data payload: typical use cases channelIDsince(tag)tillpressuretemperature channelIDsince(tag)tillBLOB FK blobIDBLOBchannelIDsince(tag)tillblobID FK channelIDsince(tag)tillFK1FK2PK1PK2?? channelIDsince(tag)tillPOOL string token …….……….. …….…xxxxx xxxxxxxxxxxx xxxx………… …….. POOL file POOL Conditions Database “core” responsibility Plugin-specific responsibility (may be experiment-specific) Example: XML interpreter Payload inside the CondDB Inline attributes Inline BLOB Referenced BLOB Payload outside the CondDB POOL token Relational FK NB If BLOBs are really Large, I would move them outside the relational database

12 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Work plan and manpower 2005 work plan will depend on user priorities and manpower –Present workplan (Nov04 – Feb05) focuses on Atlas March timescales Active manpower –Andrea Valassi (IT) – coordination –Sven A. Schmidt (ATLAS) – core development –Antoine Perus (ATLAS) – performance testing Additional manpower? –ATLAS: Nuno Fiuza da Barros (Atlas integration), Vakho Tsulaia (HVS?), Andrea Formica (Atlas integration?), … –LHCb: Marco Clemencic and Nicolas Gilardi (LHCb integration?) –CMS: Ricky Egeland (PVSS?), Michael Case (CMS integration?), Lee Lueking (FroNTier?) –Users and experiment integration developers are important

13 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Work plan (November February 2005) Milestone 1 (December 3) – Andrea V. and Sven A. Schmidt –Online data: single object insertion/retrieval with AttributeList data payload Milestone 2 (December 17) – AV and SAS –Online data: bulk insertion/retrieval Milestone 3 (January 21) – Antoine Perus –Online data: performance comparison with Lisbon CondDBMySQL Milestone 4 (February 12) – AV, SAS, AP –Offline data: versioning and HEAD tagging Next steps (still missing features) –Core software: partitioning, tag extensions, HVS, concurrent tests, other platforms, data cloning, out-of-line data, non-int64 keys, channel attributes… –Tools and components: PVSS manager, POOL handler, data browser, data copy…

14 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Status Milestone 1 (December 3) – OK! (AV and SAS) –Online data: single object insertion/retrieval with AttributeList data payload –Additional problems/limitations: 64-bit integers (validity keys) not yet in AttributeList/RAL: use 32-bit for now BLOBs not yet in AttributeList/RAL: use strings (<4000 or 255 char) for now Milestone 2 (December 17) – OK! (AV and SAS) –Online data: bulk insertion/retrieval –Additional problems/limitations: as above, plus need some cleanup Milestone 3 (January 21) – work in progress (AP, AV and SAS) –Promising results from first comparison with CondDBMySQL (up to 200k rows) Writing faster in COOL Oracle/MySQL than CondDBMySQL (but not strictly linear) Reading faster in CondDBMySQL by ~ one order of magnitude –Further understanding and optimizations are necessary (SQL? ODBC?...?) Milestone 4 (February 12) – will be late (versioning/tagging software) –SAS and AV also got involved with performance studies (higher priority)

15 Andrea Valassi IT-ADC27-Jan-2005Conditions Database New software – first prototype COOL (COnditions Objects for Lcg) Infrastructure: SCRAM, single platform so far (rh73_gcc323) Tight integration with SEAL –COOL database service is a SEAL service (dynamically loadable plugin) –Use SEAL logging, exceptions, Time, int64… Two packages –CoolKernel (public API) Compile time dependency on SEAL SealBase and POOL AttributeList API design tries to improve on both original and Lisbon API –RelationalCool (implementation using POOL RAL) Compile time dependency on SEAL SealServices and POOL RelationalAccess Runtime loading of POOL OracleAccess/ODBCAccess/SQLiteAccess (on demand) Separate classes for generic ‘Relational’ implementation and ‘Ral’-specific DB access (foresee the possibility to reuse the same schema for direct MySQL/OCCI access) HVS entities factored out in class and schema (only structure: no versioning yet) –Database implementation issues The Oracle execution plan for each operation is tested to ensure indexes are used Bind variables and bulk operations are used whenever possible Each user operation offered by the API is encapsulated within one transaction

16 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Example – bootstrap Foreword for all examples –The API and implementation code is all enclosed in “namespace cool { }” –The API includes “typedef boost::shared_ptr xxxPtr” for all xxx Bootstrap: dynamically load the RalDatabaseSvc –Option 1: from an existing SEAL Context (seal::Context* context) context->component ()->load (“COOL/KernelServices/RalDatabaseSvc”); seal::IHandle dbSvcHandle = ctx->query (“COOL/KernelServices/RalDatabaseSvc”); cool::IDatabaseSvc& dbSvc = *(dbSvcHandle->get()); –Option 2: standalone (if SEAL/POOL is not used anywhere else) cool::IDatabaseSvc& dbSvc = cool::RalDatabaseSvcFactory::getDatabaseService(); The IDatabaseSvc can then be used to create, open, drop databases

17 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Example – database access Database identification via a single URL-like string (std::string dbId) –One “COOL conditions database” corresponds to Logically, a single hierarchy of folder sets and folders (a single root folder set “/”) Physically, a set of tables with the same prefix within a single schema (Oracle user schema or MySQL database) accessed via a (possibly different) authenticated user –Only the convention to retrieve a single “bootstrap” table is hardcoded in C++: all other table names are stored and retrieved from the database itself –Oracle: dbId=“oracle://devdb9;schema=US;user=US;password=PW;dbname=COOLTEST"; –MySQL: dbId=“mysql://atlobk01;schema=US;user=US;password=PW;dbname=COOLTEST"; Use the IDatabaseSvc to create, open, drop databases dbSvc.dropDatabase( dbId ); cool::IDatabasePtr db = dbSvc.createDatabase( dbId, …optional attributes…); cool::IDatabasePtr db = dbSvc.openDatabase( dbId );

18 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Example – folder access Create an “online” folder with user defined payload specification pool::AttributeListSpecification payloadSpec; payloadSpec.push_back("I","int"); payloadSpec.push_back("S","string"); payloadSpec.push_back("X","float"); cool::IFolderPtr folder = db->createFolder ( “/a/b/c/myfolder”, payloadSpec, cool::FolderVersioning::ONLINE, true ); Retrieve an existing folder cool::IFolderPtr folder = db->getFolder( “/a/b/c/myfolder” ); Drop an existing folder db->dropFolder( “/a/b/c/myfolder” ); New API: IFolderPtr is used to access the individual conditions objects –Each folder handle is a manager of the data in the folder (see next slide)

19 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Example – single object insertion Store a single object –In “online” mode, check that since( IOV # N ) > till ( IOV # N-1 ) –Special case: if till ( IOV # N-1 ) == +infinity, set it equal to since( IOV # N ) pool::AttributeList payload( payloadSpec ); payload["I"].setValue ( 1 ); payload["S"].setValue ( "Object 1" ); payload["X"].setValue ( ); folder->storeObject( 0, 10, payload, 1 ); // since = 0, till = 10, channel# = 1 folder->storeObject( 10, cool::IValidityKeyMax, payload, 1 ); // till = +infinity folder->storeObject( 20, 30, payload, 1 ); // set previous till to 20 folder->storeObject( 5, 25, payload, 1 ); // EXCEPTION: 5 < 30 (last IOV) –Type (since, till) : IValidityKey (typedef’ed to seal::LongLong for now…) –Type (channel) : IChannelId (typedef’ed to unsigned long for now…)

20 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Example – single object retrieval Retrieve a single object (NB: no concept of tag yet) –Retrieve an object from a folder at a given validity point in a given channel cool::IObjectPtr object = folder->findObject( 5, 1 ); // time = 5, channel# = 1 –Retrieve the full object payload as an AttributeList pool::AttributeList payload = object->payload(); –Retrieve individual payload items as true types (wrapper for user convenience) int i = object->payload (“I”); string x = object->payload (“X”); // EXCEPTION: “X” is a float string s = object->payload (“S”); –Retrieve individual payload items as strings (wrapper for user convenience) string i = object->payload(“I”); string x = object->payload(“X”); string s = object->payload(“S”);

21 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Example – bulk object insertion Store many objects in bulk pool::AttributeList payload( payloadSpec ); payload["I"].setValue ( 1 ); payload["S"].setValue ( "Object 1" ); payload["X"].setValue ( ); folder->setupStorageBuffer(); // Enable bulk insertion folder->storeObject( 0, 10, payload, 1 ); // Cache in C++ class memory folder->storeObject( 10, cool::IValidityKeyMax, payload, 1 ); folder->storeObject( 20, 30, payload, 1 ); folder->flushStorageBuffer(); // The SQL is issued here in one transaction

22 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Example – bulk object retrieval Retrieve a horizontal iterator over the objects (bulk retrieval) –In online mode (just like in a tag), only one IOV is valid at any given time Eventually this method will be used to browse horizontally within a tag cool::IObjectIteratorPtr objectIterator = folder->browseObjectsInTag // SQL bulk retrieval in one transaction ( “”, 1, 5, 25 ); // Tag = “” (only online option), channel# = 1, within [5,25] objectIterator->goToStart(); while( objectIterator.hasNext() ) { cool::IObject object = objectIterator->next(); // In-memory loop … } –Implementation detail: presently the iterator is a wrapper to a vector ALL data from the query are bulk-retrieved immediately in one transaction Eventually, need to split this up into many network round trips in many transactions Query on object insertion time and folder creation time may be used to select consistent state across different transactions (objects are never deleted)

23 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Feedback on RAL and AttributeList Excellent support from the RAL team (thanks!) –Sufficiently easy and intuitive to use if you have experience with SQL C++ APIs RAL performance within COOL is being investigated –Performance for writing data better than CondDBMySQL, no real issue so far –Read performance: COOL optimizations needed, some issues with AttributeList No difference observed between MyISAM and InnoDB; any penalty from ODBC? Issues with RAL (and AttributeList) –Need RAL/AttributeList support for long long (high priority) –Need RAL/AttributeList support for BLOBS (void* buffer, length) –ORA observed in READ ONLY transaction: better use SERIALIZABLE? –Wish RAL extensions for CLOBS (length of a string to store) –Wish RAL/AttributeList support for DATE and RAL interface to SYSDATE() Issues with AttributeList –A few issues (bugs) in copy constructors and assignment operators Due to coexistence of AttributeListSpecification ‘reference’ and ‘boost shared pointer’ “flavours”: suggestion is to get rid of reference and keep only boost pointers

24 Andrea Valassi IT-ADC27-Jan-2005Conditions Database “Hierarchical versioning” Two ways to store the association of “ALIGN-02” and the “TileAlignment in [0,2], version 7” IOV: 1. Store directly the association between the IOV and the “ALIGN-02” tag; although “ALIGN-02” is assigned to all IOVs tagged as “TILEALIGN-00”, the association is lost 2.Store the association between the IOV and the local “TILEALIGN-00” tag; then store the association between the “ALIGN-02” and “TILEALIGN-00” tags In the Conditions Database context 1.Previous Conditions Database tagging (analogous to CVS): “global tags” 2.Hierarchical versioning: “local tags” Originally designed and currently used for the Atlas Detector Description (Vakho) Scope of application to the Conditions Database: folder set tag management –The association of IOVs to tags within their folder is unchanged

25 Andrea Valassi IT-ADC27-Jan-2005Conditions Database Conclusions Development of new COOL software is proceeding well –A few weeks behind schedule –Pending issue: int64 and BLOBs need to be supported in AttributeList and RAL –The development plan aims to make this usable by Atlas in March Work plan for 2005 depends on user priorities and available manpower –Feedback, suggestions, experiment requirements are welcome…