MySQL Evaluation Status
Assessment so far
MySQL is a perfectly reasonable tool for, at a minimum, keeping
track of constants data; that is, the meta-data associated with constants.
This is the sort of thing relational databases were invented for. MySQL
looks to be (functionally) perfectly adequate for the job as well as being
well-supported and free.
Whether the constants values should be stored in a MySQL database
is still an open question. Best guess is that it will be a good solution
for some kinds of constants data but not for others. Root is one obvious
alternative to explore for some kinds of constants.
Pro-MySQL
- Infra-structure will be there already.
No extra support needed for versioning, file storage,...
- Interactive queries provide quick-and-dirty access to the data,
using perhaps unanticipated cuts or sorting,
without the overhead of writing a program
Pro-Root
- Root analysis programs will need access to the data in any
case; if it's already in the form of Root classes there is no
extra work to provide this support.
- Since we have to keep track of event data as Root files already
we should be able to use the same scheme for constants files (except
the requirements might be somewhat different).
To-do list
- Get details for some projected calibration-like or other constants data.
Done for tracker dead and hot strips.
- Design summary and values table(s) for these procedures; create.
I have a candidate design, script for creation.
- Use c/c++ API to write code for
- filling rows of summary tables and
data tables.
- supporting most common query: how to find appropriate
set of constants for a particular event
Attempt to get some feeling for performance.
- Design c++ classes to hold query results
- IDL support
Joanne Bogart
20 April 2000