1. A computer implemented method, comprising: gathering, by a processor of a computer, a plurality of usage data from a plurality of users consuming a plurality of computer resources in an on demand service environment, the on demand service environment providing a plurality of computer services available through a web service interface, wherein the processor is connected to the plurality of users and the web services interface by a network, and wherein each of the plurality of usage data measures a consumption of a computer resource in one of the plurality of computer services; sending, by the processor, the plurality of usage data to a database through the web services interface; processing, by the processor, the plurality of usage data into a plurality of records, each of the plurality of records having a required information section and an attributes section; saving, by the processor, the plurality of records into a record table, an attribute table, and a unit of work table, wherein the record table is linked to the attribute table, and the record table is linked to the unit of work table; responsive to a flag in a required field of a record, changing a status of the unit of work to a closed status in the unit of work table, and responsive to changing the status of the unit of work to the closed status in the unit of work table, identifying a plurality of associated records, wherein an associated record is a record associated with the unit of work; aggregating, normalizing, and algebraically composing, by the processor, the plurality of associated records to produce a metric that summarizes consumption of the computer resource for the unit of work; and storing, by the processor, the metric with the records in a database, wherein the metric and the records are configured to be stored and retrieved using a schema, and wherein the metric is configured to be used in an accounting, an auditing, a billing, or an optimization process.