COOL Databases, Folder Sets, Folders and Channels
Different items of conditions data in COOL
may be organized in several hierarchical levels.
COOL Databases
A COOL database is the smallest complete and self-consistent
set of conditions data that may be defined in COOL.
The relational implementation of a COOL database consists
of a set of tables (whose names start with a common prefix),
including global tables describing the database substructure
as well as tables associated with each subcomponent of the database.
A database is uniquely identified by its URL,
that contains all relevant information to locate it on the Grid
(e.g. an Oracle server, a schema within that server,
and a table name prefix within that schema).
COOL Folder Sets
Each database is internally organized in a tree of nodes
called folder sets (inner nodes) and folders (leaf nodes).
Nodes are identified inside the database
by a Unix-like path name (e.g.
/fset1/fset2/f3
).
A COOL folder set is a collection of folder sets and folders.
It is an inner node of the database,
and can be thought of as a Unix directory
(e.g.
/fset1/fset2/
, which may contain
f3
).
Each database has precisely one root folder set
/
.
COOL Folders
A COOL folder is a container for conditions data.
It is a leaf node of the database
(i.e. it does not contain other folders or folder sets)
and can be thought of as a Unix file
(e.g.
/fset1/fset2/f3
).
In the
COOL relational implementation
each folder is associated to several tables
(whose number is different for SV and MV folders).
One of them (the "IOV table")
is the most important COOL table for that folder:
each row in the IOV table corresponds
to one and only one conditions data object
and contains its IOV, its version number
and (in the simplest case) its payload.
Currently, each folder has its own IOV table,
and different folders use different IOV tables.
The schemas of the IOV tables in different folders may also be different
if the associated payload data have different types and cardinalities.
Data items whose payloads are described in terms of different columns,
such as a temperature data item (a single float column)
and an alignment data item (3 angles and 3 displacements: six float columns),
should be stored in different folders.
COOL Channels
One final hierarchical substructure exists within COOL folders.
One folder may contain data from several data items called channels.
While all channels within the same folder share the same payload schema
(e.g. they all describe temperature data items with one float value),
their IOVs and versions may all be stored and accessed independently.
The channel identifier is one extra metadata column of the IOV table.
Channels are defined in all folders, even if they are not necessarily used:
there can be folders which contain IOVs from a single channel.
Channels represent the finest granularity of the data item hierarchy:
for this reason, the term "channel" is often used instead of "data item".
--
AlexLoth - 16-Dec-2009