Star Database Tutorial Package Design & Objectivity Discussion Interface Questions – What do you want? -> making requests – What do you get? -> data container.

Slides:



Advertisements
Similar presentations
1 Projection Indexes in HDF5 Rishi Rakesh Sinha The HDF Group.
Advertisements

Allocation Methods - Contiguous
File Management Chapter 12. File Management A file is a named entity used to save results from a program or provide data to a program. Access control.
Chapter 10: File-System Interface
File System Interface CSCI 444/544 Operating Systems Fall 2008.
Dr. Kalpakis CMSC 421, Operating Systems. Fall File-System Interface.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Chapter 12 File Management
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File-System Interface.
1 File Management Chapter File Management File management system consists of system utility programs that run as privileged applications Input to.
Physical design. Stage 6 - Physical Design Retrieve the target physical environment Create physical data design Create function component implementation.
10.1 Silberschatz, Galvin and Gagne ©2005 Operating System Principles Chapter 10: File-System Objectives To discuss file-system design tradeoffs, including.
Object-Oriented Methods: Database Technology An introduction.
Based on G. Post, Database Management Systems University of Manitoba Asper School of Business 3500 DBMS Bob Travica Updated 2015 Chapter 1 Introduction.
Conceptual Architecture of PostgreSQL PopSQL Andrew Heard, Daniel Basilio, Eril Berkok, Julia Canella, Mark Fischer, Misiu Godfrey.
Star (Traditional) Database Tasks & MySQL 1. Database Types & Operation Issues 2. Server & Database deployments 3. Tools with MySQL 4. Data definition.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
ITEC 502 컴퓨터 시스템 및 실습 Chapter 10-1: File Systems Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
Data Access Patterns Some of the problems with data access from OO programs: 1.Data source and OO program use different data modelling concepts 2.Decoupling.
Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each.
Data File Access API : Under the Hood Simon Horwith CTO Etrilogy Ltd.
COMP 365 Android Development.  Manages access from a central database  Allows multiple applications to access the same data.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
GCMD/IDN STATUS AND PLANS Stephen Wharton CWIC Meeting February19, 2015.
AUTOMATION OF WEB-FORM CREATION - KINNERA ANGADI – MS FINAL DEFENSE GUIDANCE BY – DR. DANIEL ANDRESEN.
1 CS 430 Database Theory Winter 2005 Lecture 17: Objects, XML, and DBMSs.
Chapter 10: File-System Interface Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 Chapter 10: File-System.
Chapter 10: File-System Interface 10.1 Silberschatz, Galvin and Gagne ©2011 Operating System Concepts – 8 th Edition 2014.
Page 110/19/2015 CSE 30341: Operating Systems Principles Chapter 10: File-System Interface  Objectives:  To explain the function of file systems  To.
Learning to Use Root for STAR Gene Van Buren (UCLA) for the STAR Collaboration Accessing STAR Data Programming for STAR (Makers) Star => Computing => Tutorials.
ETMS Documentation Roger Milego Stockholm, Project meeting 8-9 October 2013.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 11: File-System Interface File Concept Access Methods Directory Structure.
Peter Chochula ALICE Offline Week, October 04,2005 External access to the ALICE DCS archives.
Why do we need a database?
Database and Information Management Chapter 9 – Computers: Understanding Technology, 3 rd edition.
Online Databases General Functions Database Categories Tools Conditions & Configurations DB Technical Issues Activities of Interest & Need R. Jeff Porter.
Full-Text Support in a Database Semantic File System Kristen LeFevre & Kevin Roundy Computer Sciences 736.
STAR Conditions Database What is it? Tools Conditions DB API Beyond Conditions Technical Issues Activities of General Interest R. Jeff Porter 1/31/98 STAR.
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
V.Fine ALICE-STAR Joint meeting April, 9, 2000 The STAR offline framework* V. Fine *) See also:
New COOL Tag Browser Release 10 Giorgi BATIASHVILI Georgian Engineering Center 23/10/2012
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Chapter 9 Designing Databases 9.1.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 10 & 11: File-System Interface and Implementation.
V.Fine for STAR collaboration The STAR offline framework and 3D visualization V. Fine, Y. Fisyak, V. Perevoztchikov, T.Wenaus.
CINT & Reflex – The Future CINT’s Future Layout Reflex API Work In Progress: Use Reflex to store dictionary data Smaller memory footprint First step to.
XML Device Description PP a-MMA_XMLDeviceDescriptionWorkShop.pptx M. Marchhart 1 Workshop.
V.Fine for STAR collaboration The STAR offline framework V. Fine, Y. Fisyak, V. Perevoztchikov, T.Wenaus.
DAY 14: ACCESS CHAPTER 1 RAHUL KAVI October 8,
uses of DB systems DB environment DB structure Codd’s rules current common RDBMs implementations.
Instructor: Umar KalimNUST Institute of Information Technology Operating Systems File System Interface.
MESA A Simple Microarray Data Management Server. General MESA is a prototype web-based database solution for the massive amounts of initial data generated.
CS4222 Principles of Database System
Chapter 1 Introduction.
Current Status of the Geometry Database for the CBM Experiment
Module 11: File Structure
Indexing and hashing.
CMS High Level Trigger Configuration Management
Geant4 Geometry Objects Persistency using ROOT
Operation System Program 4
Directory Structure A collection of nodes containing information about all files Directory Files F 1 F 2 F 3 F 4 F n Both the directory structure and the.
Conceptual Architecture of PostgreSQL
Conceptual Architecture of PostgreSQL
Chapter 10 ADO.
Metadata The metadata contains
Geographic Information Systems
Presentation transcript:

Star Database Tutorial Package Design & Objectivity Discussion Interface Questions – What do you want? -> making requests – What do you get? -> data container – How to add a new object type? -> definition protocols – How do you update? -> db input protocols

Objectivity: OODB w/ C++ API Is a Database –Persistency Mechanism –Concurrency & Locking Mechanisms –Access by Query on predefined fields –Fast search over large data samples

Objectivity: OODB w/ C++ API Is an OO Database –Provides Direct Navigation tools to data –Gives OO methodology to persistent data But … –Direct Navigation was attractive for Event-Store –Persistent-to-Transient copy allows adding OO methodology at copy level

Conditions DB Description Database of the experimental conditions. Database Access –Updates are predominantly done from Online –Storage & retrieval by timestamp Update Frequency –pre-determined updates (e.g. ~hourly snap-shot) –alarm-activated updates (at level of individual object) Data Volume –moderate per update (~Mbyte) –moderately large in aggregate (>~Gbytes)

Star-BaBar Conditions DB Is applied to each Subsystem (e.g. tpc, svt,..) conditions/subsystem/UniqueObjects conditions/subsystem/Index-to-Objects e.g. TPCVoltages & Sector_01Voltages represent unique (& uniquely named) object types stored in the “conditions/tpc/databases” & accessed via “conditions/tpc/IndexDB”

Conditions-like Star DBs Access by time-stamp & subsystem conditions/subsystem configurations/subsystem calibrations/subsystem geometry/subsystem

Interface Questions What do you want? - making requests What do you get? - data container How to add new object type? - definition protocols How do you update? - db input protocols

1) What do you want? Offline data is organized in Tree-Structure good idea - Online likes this too. Database-API Tree is shallow (2-levels) map to Tree structure at data access Database access is request & retrieve process BdbDatabase->fetch(ObjH,indexContainer,theTime); Codes need to know what to request at object level

Current Offline Model Objects are files in Tree-like file-system file-system = catalog of available objects $STAR/StDb/params/tpc/trspar/Trs.C A time-stamp in the filename for each instance myobject.time.C or myobject.time.xdf Upon request, all valid data in Tree is loaded other Makers get data from memory resident Tree

Offline Interface Model St_DataSet* ds = GetDataBase(subtree-name); loads Tree-structure under “subtree-name” into db memory mdbds = ds->Find(specific-name); gives St_A_Maker pointer to specific db data

DB Interface Model StdbPtr* mdbo = factoryI->getdbObject(name, time, version);

DB Interface Model issue How does St_db_Maker know what to load? 1) StdbCatalogI* mycat = factoryI->getCatalog(); Catalog is Tree-Structured container of all available objects for this dbType. 2) StdbCatalogI* mycat = new StdbCatalog(“file”); “file” contains Tree-Structured container of objects as filtered for a specific “Chain”.

DB Catalog Structure Geometry tpc TPCPadPlanes Sector_01 sectorPosition Sector_02 sectorPositions V02 ObjyObjectName = tpcSector_01sectorPositions

A Related Interface Issue How does St_db_Maker know to load my private test version of DB-data? factoryI->prependSearchPath(“pathname”); 1) Factory will use your path 1st to access db-data. 2) Data must be in “the standard” format & Tree 3) St_db_Maker needs to call this function; Not You.

2) What do you get?

DB Return-type: StdbPtr Transient DB objects inherit from StdbPtr. StdbPtr contains a (list of) pointer to StdbObjectI. StdbObjectI defines methods: getName(), getVersion(), getEndTime(),... StdbPtr uses StdbObjectI to provide method : bool isValid(time,version); St_DbSet (like St_ObjectSet) inherits from St_DataSet & contains StdbPtr*.

What does this mean to you? Remember, we had St_DataSet* ds = GetDataBase(subtree-name); loads Tree-structure under “subtree-name” into db memory mdbds = ds->Find(specific-name); mdb_table = (my_table*) mdbds->GetTable(); gives St_A_Maker pointer to specific db data Now we have, St_DataSet* ds = GetDataBase(subtree-name); loads Tree-structure under “subtree-name” into db memory mdbds = ds->Find(specific-name); mdbObj = (DataObject *)mdbds->GetdbObject(); gives St_A_Maker pointer to specific db data

Transient-Persistent Mismatch Efficient data storage suggests grouping data by function & update frequency. This organization can be different than what user codes want. Who does copying from persistent structure to desirable transient structure? If Offline: persistent -> transient -> better transient If DBInterface: persistent -> better transient

Basic Model DB returns data; Offl repacks into trans-DS : Case: UI-Object =>dbStuctA + dbStructB + … StdbPtr* mdbA = factoryI->getdbObject(“A”, time, version); StdbPtr* mdbB = factoryI->getdbObject(“B”, time, version); …. StDataObject* mUI = new StDataObject(mdbA, mdbB, ….); mDataSet->AddObject(mUI); if(mdbA) delete mdbA; if(mdbB) delete mdbB; …. St_db_Maker has to know about Data Objects DB does not.

Alternative Model (“in use”) DB returns filled UI-Object as requested StdbPtr* mUI = factoryI->getdbObject(name, time,version); mDataSet->AddObject(mUI); DB (& Catalog) has to know about Data Objects St_db_Maker does not. In the end, it should be done somewhere AND it shouldn’t matter to user codes.

3) How to add a new data type? Join starcalib-l & meetings The process is not Templated yet…. Also look at some current examples $STAR_DB/DataBases/preStDb/Calib/... $STAR/StDb/params/… ($STAR_DB is not on AFS but on rcf )

in particular... Work with calib/database group to add to Database. Define the data members needed typically one or more c-structs Define the UI object that is needed may be a simple table… may be more complex Define a class that implements UI & contains the data.

4) How to update db-data? Protocols haven’t been defined. There will be some access restrictions on updates like Online authorization modes or CVS Private output via ROOT or XDF files + migration step into the Database is a likely general solution.