Edgewall Software

Changes between Version 1 and Version 2 of Data Storage


Ignore:
Timestamp:
Aug 31, 2005, 10:08:07 PM (19 years ago)
Author:
cmlenz
Comment:

Add information on the BDB XML backend

Legend:

Unmodified
Added
Removed
Modified
  • Data Storage

    v1 v2  
    1212
    1313Other data such as compilation errors and warnings would only consist of the message of the error or warning. Code coverage would annotate each line in the code base with the number of times that line has been executed, and in addition accumulate coverage statistics on a per-file or per-class basis.
     14
     15== XML Database Backend ==
     16
     17Semi-structured data such as this is not a good candidate for storage in a relational database. Instead, native XML databases are rather well suited for storing semi-structured data. Bitten therefore uses [http://www.sleepycat.com/products/xml.shtml Berkeley DB XML] to store reports generated by builds. BDB XML supports the [http://www.w3.org/TR/xquery/ XQuery] standard and thereby enables efficient and powerful analysis and aggregation of the collected software metrics.
     18
     19  ''Note that Bitten allows an alternative XQuery capable data store being used instead of BDB XML.''
     20
     21Every report is stored as a self-contained document in the XML DB. It is associated with a specific build step using metadata:
     22
     23 `config`:: The name of the build configuration the report belongs to
     24 `build`:: The unique ID of the associated build
     25 `step`:: The name of the build step
     26
     27The reports themselves are stored verbatim as received from the build slave, for example:
     28
     29{{{
     30#!xml
     31<report type="unittest">
     32  <test duration="0.073" status="success" fixture="bitten.tests.model.BuildConfigTestCase" name="test_config_update_name" file="bitten/tests/model.py"/>
     33  ...
     34</report>
     35}}}
     36
     37== Querying the Report Store ==
     38
     39TBW