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.