You can use a stock rdbms and still keep track of changes. Just keep a seperate "Updates" table which consists of the tuple {class, object, change-description, changed-when, changed-by}
You don't need both class and object, but I prefer to log both object type and id.
You don't need both class and object, but I prefer to log both object type and id.