The BOINC database
Each BOINC project uses a relational database to keep track of
participants, work and results.
The BOINC release uses MySQL,
but other SQL databases can be used;
you will need to replace the files
db/mysql_util.C and db/db_mysql.C,
as well as some of the PHP files in db/html_user.
In boinc/html_user/ there is a file called db_name containing only the
name of the database for that project.
Each BOINC project will have a different database name.
This allows for access to different databases through the webpages of projects.
The database tables are as follows:
- platform
- Compilation targets of the core client and/or applications.
- app
- Applications.
The core client is treated as an application; its name is "core_client".
- app_version
- Versions of applications.
Each record includes a URL for
downloading the executable, and the MD5 checksum of the executable.
- user
- Describes users, including their email address, name, web
password, and authenticator.
- preferences
- Describes preferences.
The actual preference information is
stored in an XML document in a "blob" field of this table.
- host
- Describes hosts.
- workunit
- Describes workunits.
The input file descriptions are stored in an XML document in a blob field.
Includes counts of the number of
results linked to this workunit, and the numbers that have been sent,
that have succeeded, and that have failed.
- result
- Describes results.
Includes a "state" (whether the result has been dispatched).
Stores a number of items relevant only after the
result has been returned: CPU time, exit status, and validation status.