Skip to content
0:00 / 0:00

#etl#datawarehouse#postgres_fdw

Dr. Martin Loetzsch - ETL Patterns with Postgres

CraftHub Events

8.2K subscribers • 5 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Dr. Martin Loetzsch

Intermediate. Assumes working knowledge.

8.4K views8 years ago2 recommendations

Databases and dataPostgresData engineering and warehouses

Dr. Martin Loetzsch presents design patterns for building robust ETL pipelines and data warehouses using PostgreSQL.

- Captured Live on Ustream at ustream.tv/channel/JUMjvCF2ucj

Why it's here

2 people recommend this

What people say. Recommended for its practical patterns on incremental data synchronization and data warehousing with PostgreSQL.

u/snewmtin r/PostgreSQL • Recommends

On “Best practices for incremental bulk upsert”

…eds to be exported. The right window depends on the source system. You will also need additional reconciliation jobs that ensures the integrity of historical data over time. For example, if you have a two hour window for one hour of data, two years down the lane, the source system may have a minor disruption and you lose data without noticing it. link to this video…

u/efxhoyin r/PostgreSQL • Recommends

On “Batching from postgres_fdw? How to prevent long locks while reading.”

…ashboards. The application database serves hundreds of thousands of people every day. It's OK if it gets stale data in the DW, which is the worst we can get there should a sync fail, for example if a column is dropped. If a column is added that's also no problem, we'll just get it the next time we sync. We've setup the DW following this pattern: [video Basically data is read in through fdw to a schema suffixed `_next`. Once all tables we want are synced and pass our consistency checks we do a name swap and bring the new data into view of the analysts. > How many migrations are you doing in a day versus how often are you deep cloning this table? If having to deep clone a lot, and the tab…

u/efxhoyin r/PostgreSQL • Recommends

On “Batching from postgres_fdw? How to prevent long locks while reading.”

>first i would version those schemas and fdw in dw-db. ie app\_v\_1\_0 has select a,b,c,d from fdw\_stuff... in fdw table x.. We're following the \`\_next\` pattern for the ETL into the DW as described here: link to this video I think it works well. > if you transformation in fdw , i think it is pushed to source db, so maybe not complex transformations there. Absolutely! Only simple selects are being done, no joins or other transforms. > Nothing prevent you to write procedure to sync max 10k or 100k on one select, there is example already here. have you considered logical replication and using that as fdw ? Thanks! Yes we did, I explained more about why we didn't choose it in my answer to Crack…