in reply to Retrieve changes in remote dataset

I found that mostly easy when you have the complete changelog available, and hard otherwise.

If your database structure writes a log or a change history for its rows, you can retrieve that history and replay it to the client. If you want to look at a real database, consider parsing the write ahead logs or replication logs, as these usually replay all the actions on rows.

There are specialized databases that basically store these logs together with the row data. I believe "Event Sourcing" is the buzzword for that. They seem to be separate from actual SQL databases though.

If you need to create the diff from thin air, it's usually not hard to generate the diff if you can find something close enough to the client state (daily backup) and the current state.

In short, I'm unaware of a premade solution to this.

Replies are listed 'Best First'.
Re^2: Retrieve changes in remote dataset
by hippo (Archbishop) on Jul 17, 2017 at 13:29 UTC
    If your database structure writes a log or a change history for its rows, you can retrieve that history and replay it to the client.

    Thanks for this post. There will almost certainly be some sort of database on the server for keeping the logs of the changes (it may or may not be an RDBMS). At the moment I don't have a need for a DB on the client side. The whole thing does lend itself to being described as "replication" so that's also worth searching the archives for.

    In short, I'm unaware of a premade solution to this.

    Even a negative is a useful answer - it's shows I'm not missing the blindingly obvious. Thank you.

      Even a negative is a useful answer - it's shows I'm not missing the blindingly obvious. Thank you.

      Careful. Even Corion might be missing the "blindigly obvious". Non-existence of something cannot be proved ;-)

      Of course this remark is far from being as helpful as I would like it to be. Meh.

      perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'