Comment Change Data Capture Vs Database Auditing

Cecil

19+ years progress programming and still learning.
Without getting all critical, what are the differences between 11.7 'Change Data Capture' and 10.1A 'Database Audit'.
  • Are they the same thing?
  • Can they work in unison?
  • When would you use one over the other?

Without going to too deep, the only thing I can tell is one is at Application Level and the other is at the Database Level. I could be wrong in thinking this.
 

cj_brandt

Active Member
For your third question -
Companies I saw were using Database Auditing to track records that had been updated. The changed records were queried and then dumped out each day, querying that data was not efficient. This type of use is better managed with Change Data Capture.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
Are they the same thing?
No, though there are some obvious similarities. Both deal with logging information about changes to data. Auditing is a basic capability and CDC is an add-on product.

Can they work in unison?
Yes.

When would you use one over the other?
I think auditing makes stronger guarantees of protection of the logged data. Ordinary users cannot modify, delete, or even query audit data. And it includes context about who made the change and when. It can also optionally contain developer-defined application context.

CDC is in some ways like a lighter-weight auditing, without the user info. Though I think including user info in the logged data was a requested feature that was added in a recent release, maybe 11.7.1; not sure.

CDC gives you a range of verbosity levels, from logging only that some change happened in a table, to logging the before and after values in the changed fields. If you wanted to build an ETL process to feed data into, say, a BI data warehouse, you would use CDC.

Without going to too deep, the only thing I can tell is one is at Application Level and the other is at the Database Level.
While auditing does require programming to make use of the data, I would describe the triggering mechanism in both as happening at the database level.
 
Top