The BOINC Database
BOINC uses a relational database to keep track of participants, work
and result.
The reference implementation uses MySQL, but any SQL database can be used.
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.