Nigel Gardiner <nigelgardi...@gmail.com> writes:

> I'm looking at making a data warehouse to address our rapidly spiralling 
> report query times against the OLTP. I'm looking first at what it would take 
> to make this a
> real-time data warehouse, as opposed to batch-driven.
>
> One approach I've seen used to achieve real time data warehousing is to have 
> middleware that is intercepting all database writes and echoing them to a 
> program that
> rolls up the data warehouse values and updates the facts, dimensions and so 
> on on the fly. Another approach was to use triggers on the tables of interest 
> to write to
> tables to journal the changes, which then get processed by a batch job to 
> achieve the same thing.
>
> One of the problems of the trigger on the transactional database
> approach is that if there is ever a problem with the trigger, the main
> transaction is affected. I'm not sure if that is avoidable with proper
> exception handling in the trigger code? It does mean a lot of trigger
> code to maintain, and another schema to maintain (the journalled
> changes), so there were several drawbacks.

Firing a trigger on INS, UPD, DEL that simply loads a a journal table
with PK value and the event type is so utterly trivial as to be a
non-issue anywhere but the most high impact environments.

> I've had a quick search and haven't seen this approach used yet, but I was 
> thinking, the asynchronous replication of Postgres databases could be used as 
> a streaming
> journal of changes to be processed by a data warehouse. The other approach 
> that suggests itself is WAL file shipping. I've not dug into the async rep 
> protocol yet,
> before I do so I just wanted to get some brief feedback on whether I'm on the 
> wrong track or not, and if there's some better approach I should be looking 
> at first
> instead.

Consider if new Logical Change Set features of 9.4 might apply to your
case.  May accomplish same as trigger based solution without all the
extra supporting structures hitherto necessary.

> Any feedback much appreciated.
>
> Regards,
> Nigel
>

-- 
Jerry Sievers
Postgres DBA/Development Consulting
e: postgres.consult...@comcast.net
p: 312.241.7800


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to