1. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a database residing in the memory, the database comprising a plurality of records; and a journaling mechanism residing in the memory and executed by the at least one processor, the journaling mechanism storing an entry in a journal when a record in the database changes, the entry including all data from all fields in the record that changed, the entry including all data from any selected fields that are always to be journaled, the entry excluding all data from all non-selected fields in the record that did not change the entry including a collected fields bitmap that indicates which fields in the entry were collected and which fields were not collected in the entry and a changed fields bitmap that indicates which fields in the entry were changed and which fields in the entry were not changed.