100 likes | 223 Views
Infrastructure Access to Database Data. Database Categories & Consumers Data Access Framework Offline Access Model Development Tasks R. Jeff Porter 2/1/99 STAR Collaboration Meeting. Database Categories & Consumers. DB-Type DB-Consumer DB-store MessageLog Online ASCII
E N D
Infrastructure Access to Database Data Database Categories & Consumers Data Access Framework Offline Access Model Development Tasks R. Jeff Porter 2/1/99 STAR Collaboration Meeting
Database Categories & Consumers DB-TypeDB-ConsumerDB-store MessageLog Online ASCII RunLog Online+Offline Objy & ASCII Configurations/DB Online Objy & ASCII Conditions/DB Online+Offline Objy Scalers Offline Objy Event Tags (TagDB) Offline Objy + Root Calibrations Offline Objy & ASCII Geometry Offline Objy & ASCII
DB Access Considerations • Primary Repository >> Objectivity • Objectivity will not be exposed to (consumer) codes • Online & Offline Infrastructures differ Offline >> StRoot framework Online >> C++ & CORBA (no Root I/O) • Online & Offline require use of an ASCII Repository - editor-friendly format for filling DB data - backup while Objectivity/DB is being developed - test bed for non-Objectivity code development
Access Model for Offline StMaker & St_DataSet form basis for Offline Infrastructure St_db_Maker (Victor) • Reads RootCINT Macro store of data into St_DataSet’s transient tree • St_Table: inherits from St_DataSet & contains “Char_t* s_table” • St_[staf_table] inherits from St_Table & supports return [staf_table]* St_Odb_Maker • Calls Database Access code (database factory) & recieves StDbObject for input into St_DataSet’s transient tree. • St_DBSet: inherits from St_DataSet & contains “StDbObject* s_db” • St_[dbo] inherits from St_DBSet & supports return [dbo_UI]*
BaBar Conditions DB API Data Access • BdbDatabase->store( ObjH, indexContainer, beginTime, [endTime],...) • BdbDatabase->fetch( ObjH, indexContainer, theTime,...)
Access from Conditions DB Objectivity Data Access StDbObject* dbo = StDbFactory->GetDBInfo( NamedObject, theTime,...) • Deconvolutes NamedObject into specific Objectivity Objects: ObjH1, ObjH2,… • Retrieves Objectivity data • BdbDatabase->fetch(ObjH1,indexContainer, theTime,...) • BdbDatabase->fetch(ObjH2,indexContainer, theTime,...) … • Makes Transient Data from Objectivity data • StDbObject->setData(ObjH1->getData()) • StDbObject->setData(ObjH2->getData()) • Returns Transient Data StDbObject Transient tree structure is not part of persistent data Returned StDbObject supports UserInterface
Technical Issues Platform Dependencies • Objectivity: Solaris, Win-95/NT, Linux, HP-UX, AIX, IRIX, DEC-Unix • BaBar-Objectivity: Solaris, HP-UX, AIX, DEC-Unix • STAR Offline: Solaris, Linux • Use of Objectivity Database will Not be fully exercised in MDC2 but restricted to testing on Solaris machines
Development Tasks Tasks beyond Objectivity Database storage • Finish design & implement Offline access to Objectivity • Use current TPC DB-data as prototype for other domains • Design standardized Database input formats • develop Database-data viewers Needed Tutorials for Offline DataBase Users • Access to DB data with Offline Infrastructure • Database Developers Workshop