Local-first application architecture using Postgres logical replication
Presented by:
Conrad Hofmeyr
Conrad lives in Colorado and co-founded JourneyApps in 2009, focused on providing a full-stack offline-first app platform to industrial companies. In 2022, Conrad and team spun out the JourneyApps sync engine as PowerSync.
Local-first app development has some significant advantages over the cloud-first app development paradigm. For app developers, having local access to data simplifies state management and removes the bottleneck of waiting for API or backend functionality. For end-users, local data provides an instantly reactive UI since there is no need to wait for network requests and apps keep working through network interruptions.
Some NoSQL databases like MongoDB and CouchDB provide data sync functionality that can enable a local-first app architecture. We identified the need to create a similar system for Postgres databases. In this talk, we will:
- Describe how we architected and built a bi-directional sync system for Postgres using logical replication, which syncs to and from an embedded SQLite database on the front-end.
- Cover some of the more complex engineering challenges, such as dynamic partial replication: How to efficiently sync a dynamic subset of the data to each client and keep it up to date in real-time.
- Date:
- 2024 April 19 15:00 PDT
- Duration:
- 20 min
- Room:
- San Pedro
- Conference:
- Postgres Conference 2024
- Language:
- English
- Track:
- Dev
- Difficulty:
- Intermediate