Gwen Shapira
08/09/2023, 3:48 PMAndrew Atkinson
08/09/2023, 3:57 PMGwen Shapira
08/09/2023, 3:58 PMAndrew Atkinson
08/09/2023, 4:03 PMALTER TABLE ... ADD COLUMN ..)
If two systems were homogenous databases (e.g. Postgres) we could use a Migrations systems like Active Record or similar to make schema changes on both sides and automate that with the release process.
@Gwen Shapira No it’s a commercial SaaS tool. But now I’m wondering what an open source Fivetran might be. 🤔Gwen Shapira
08/09/2023, 4:04 PMAndrew Atkinson
08/09/2023, 4:07 PMAndrew Atkinson
08/09/2023, 4:10 PMGwen Shapira
08/09/2023, 4:11 PMAndrew Atkinson
08/09/2023, 4:32 PMSchema migration involves the ability to automatically and incrementally propagate schema changes from your source database to your destination data warehouse.https://estuary.dev/change-data-capture-landscape/ # 5 on this list has to do with automating the propagation of schema changes from the source database. They list several options including Fivetran with higher degrees of automation around schema changes, and some with less options. The ones with higher levels of automation all look they are commercial offerings. Curious what others have to say on this! Debezium says it detects schema changes but not having tried to connect it it to an analytical database like Snowflake, I don’t know if that also means it can replay them in a compatible way. In general I guess it’s really about a combination of connectors (the databases they’re using) that might limit off the shelf choices.
Gwen Shapira
08/09/2023, 4:46 PMGwen Shapira
08/09/2023, 4:46 PMGwen Shapira
08/09/2023, 4:47 PMPradeek J
08/09/2023, 4:51 PMvignesh
08/09/2023, 11:14 PMvignesh
08/09/2023, 11:15 PMAndrew Atkinson
08/23/2023, 8:19 PMeven sequences are propagated through logical changes. My first reaction was that’s very limiting.@vignesh Could you expand on that? The sequences for a table that might supply the primary key id value for a row, would be used as the row is inserted. Then if the table is part of a publication and logical replication, that row will be published for any subscribers.
Andrew Atkinson
08/23/2023, 8:20 PMan into a good use case for it.The ones I’ve seen so far: • For ETL/ELT use cases, as a mechanism to get updates faster compared with batch processing. I wouldn’t necessarily say “more reliable” because it seems like it’s always breaking in some way too 🤣 My aspirational use case is to use it for a zero downtime cutover upgrading to a major version, or changing an instance. E.g. if we wanted to cut over even to the same major version, but on to AWS Aurora IO optimized instances for cost saving reasons for example. Where I work now we’re on 13.x so there isn’t a major forcing function to upgrade right now. Instacart has a nice post on zero downtime cutovers: “Zero-Downtime PostgreSQL Cutovers” https://www.instacart.com/company/how-its-made/zero-downtime-postgresql-cutovers/
vignesh
08/31/2023, 8:48 PMvignesh
08/31/2023, 9:01 PMIncrement the primary key sequences. Set the values for each sequence on the Green instance to be one greater than the value on the Blue instance. Failing to do this will result in primary key collisions
vignesh
08/31/2023, 9:26 PM