Explore leveraging Siphon for Org Mover
Background
The Org Mover project needs to implement logical replication to efficiently move organizations between cells. Currently, we're concerned about performance limitations when using traditional logical replication with the legacy cell due to:
- High volume of data stored and generated by the legacy cell
- Need to apply row filters by organization sharding keys
- Maintaining referential integrity during replication (foreign key constraints)
Recently, the Siphon project released a demo (YouTube playlist). Siphon solves similar problems for analytics use cases and appears to address some of our concerns, particularly with the PG 16 capability to run logical replication from read replicas.
Objectives
Can Siphon be leveraged for Org Mover's logical replication needs?
Some of Siphon's capabilities:
- Parallel snapshot processing (e.g. 32 chunks per table)
- High availability and safety features
- Ability to replicate from read replicas with PG 16
- Configurable publications
Can logical replication via Siphon be used in the first iteration?
- Instead of dump/restore of an org's PG data during the cutover?
- Will it overload the legacy cell's PG DB?
- PG 17 allows LR from a read-replica
- Using row filters on sharding keys will require modifying
REPLICA IDENTITYon the primary DB. Which will increase load on the primary DB. It at least increases the volume of WALs.
Edited by Michael Kozono