# Presentation: 483340

## Persistent references

- David Adams
- BNL
- May 28, 2002

- ATLAS software meeting
- Database session

## Contents

- Comment
- Definitions
- Use cases
- Structure
- ID’s
- Navigation

- Event Data History           David Adams   BNL

- December 2001

## Comment

- This is a first draft of a talk for the LGC workshop next week
- It merges the BNL HES model with the LCG persistency RTAG document

- Event Data History           David Adams   BNL

- December 2001

## Definitions

- DO (data object)
- Unit of persistent data
- HOS (hybrid object store)
- Persistent store for DO’s
- EDO (event data object)
- Unit of event data (i.e. data associated with a triggered beam crossing)
- HES (hybrid event store)
- Persistent store for EDO’s

- Event Data History           David Adams   BNL

- December 2001

## Definitions (cont)

- OID – object identifier
- Unique identifier for a DO
- EDOID – EDO identifier
- Unique identifier for an EDO
- Special case of OID

- Event Data History           David Adams   BNL

- December 2001

## Definitions (cont)

- Event ID
- Unique identifier for a triggered beam crossing
- E.g. a 32-bit int
- Content ID
- Identifier which labels the content of an EDO
- In StoreGate this is the EDO transient type and a string key

- Event Data History           David Adams   BNL

- December 2001

## Use cases

- HOS access
- Insert object into store and receive OID
- Present OID to store and obtain access to EDO
- HES access
- Insert object into store and receive OID
- Present OID to store and obtain access to EDO
- Restricted view
- Define a restricted view of store
- Query view for EDO (or any DO)

- Event Data History           David Adams   BNL

- December 2001

## Use cases (cont)

- Replication
- File replication
- Object replication (between files)
- From one storage technology to another
- E.g. optimizing for space and then optimizing for fast access

- Event Data History           David Adams   BNL

- December 2001

## Use cases (cont)

- References
- One transient DO holds a reference to another
- Both are written to the store
- Both are read back into a transient store and the reference is restored
- Location
- In the previous only the first object is read in
- There is a mechanism to locate the second object using the “reference” from the first

- Event Data History           David Adams   BNL

- December 2001

## Use cases (cont)

- Replicated object references
- The objects in the references use case are replicated
- Either the original or replica of each object is read in
- The reference is restore for any pair of objects

- Event Data History           David Adams   BNL

- December 2001

## Use cases (cont)

- Location of replicated object
- In the previous example either the original or replica of the first object is read in
- The mechanism for locating the referenced object may find either the original or the replica of the second object

- Event Data History           David Adams   BNL

- December 2001

## Structure

- Files
- Objects reside in files
- Files may be implemented in different PT’s (persistence technologies)
- Files have a common HOS interface
- HES
- Layer over HES which takes advantage of the independence of data from different events

- Event Data History           David Adams   BNL

- December 2001

## Structure (cont)

- HOS navigation
- Simple means to use a DOID locate a DO in a collection of files
- HES navigation
- Same for EDOID and EDO
- High level navigation
- Other mechanisms for locating objects or files
- Multiple implementations
- Many use relational DB

- Event Data History           David Adams   BNL

- December 2001

## Structure (cont)

- Event Data History           David Adams   BNL

- December 2001

## Structure (cont)

- HOS file interface
- File(OID)  DO
- HES file interface
- File(EDOID)  EDO
- File()  {Event ID}
- File()  {Content ID}
- File(Event ID)  {Content ID}
- File(Event ID, Content ID)  EDO

- Event Data History           David Adams   BNL

- December 2001

## Identifiers

- Options for generation
- Standalone  128 bit ID
- Central source  64+ bits
- Hand out blocks of ID’s to reduce network access
- To site, file system, compute node

- Event Data History           David Adams   BNL

- December 2001

## Identifiers (cont)

- Content of HOS identifier
- Simplest and smallest if ID has no content (other than uniqueness)
- Including File ID provides aid to navigation and path to uniqueness
- Should we also add a type ID?
- Content of HES identifier
- Could add event ID
- Could add content ID
- Type and string key in ATLAS

- Event Data History           David Adams   BNL

- December 2001

## Navigation

- Low level HOS navigation
- Search a collection of files until an OID is found
- Might do some simple cataloging to optimize searches and cache results

- Event Data History           David Adams   BNL

- December 2001

## Navigation (cont)

- High level navigation
- Implemented above HES/HOS
- Is able to restrict data to certain types, e.g. geometry, calibration or event data
- Could provide catalogs based on history of data generation
- Could identify small (and thus easily searchable) collections of relevant data
- Datasets

- Event Data History           David Adams   BNL

- December 2001