| POOL Home Page | |
| POOL WP: Collections and Metadata | |
| LCG Applications Area | |
| General Information |
The purpose of the POOL Collections component is to provide an infrastructure to support the definition, creation, population, use, and management of ensembles of objects stored by means of POOL's persistence services.
A primary motivating example is the event collection: physicists tend not to write and read single events, but rather, to process collections of events that share certain characteristics. Jobs that use POOL persistence services must be able to create and populate such collections as output, and POOL users must be able to specify such collections as input. These collections, rather than individual objects or the files or tables that contain them, are intended to be a natural unit of discourse for POOL input and output specification.
While event collections provide the principal motivation for this work, the POOL Collections component is type-independent, i.e., it is aware only that it manages variable-length lists of (references to) objects whose states have been made persistent in POOL's storage layer.
It is often useful to provide an efficient means for subselection of objects within a given collection based upon a manageable number of properties or attributes that may be readily queried without navigation into or restoration of the objects themselves. This is the role of tag databases, for example, in many high energy physics experiments. The POOL project is exploring the treatment of such attribute lists as object-level metadata. The purpose of the POOL Metadata component is to provide the infrastructure needed to support this view in a way that is consistent with metadata services at other levels of a persistence architecture.
The Collections and Metadata components together provide the infrastructure necessary to support queryable object collections.
| Documents |