Project Cambria: Translate your data with lenses
inkandswitch.com · 10,461 words · saved by 6 readers
Changing schemas in distributed software is hard. Could adopting bidirectional lenses help?
The challenge of schema change over time Why is change so hard? If we could update our software in lockstep everywhere, life would be easy. Database columns would be renamed simultaneously in clients and servers. Every API client would jump forward at once. Peers would agree to new protocols without dispute. Alas, because we can’t actually change all our systems at once, our changes must often preserve both: Backward compatibility , making new code compatible with existing data. Forward compatibility , making existing code compatible with new data. Backward compatibility is straightforward. It
saved by
related reading
- Building data-centric apps with a reactive relational databaseriffle.systems
- [2412.06269] Schema Evolution in Interactive Programming Systemsarxiv.org
- Bireactive Programmingorionreed.github.io
- Everything I know about good API designseangoedecke.com
- Overviewgithub.com
- Extensible Extension Mechanismsmarijnhaverbeke.nl
- Extensible Software in the age of LLMs | Jeremy Morrelljeremymorrell.dev
- Rambles around computer sciencehumprog.org
- Malleable software: Restoring user agency in a world of locked-down appsinkandswitch.com
- Semantic Versioning 2.0.0 | Semantic Versioningsemver.org
- A Call to Build Models Like We Build Open-Source Softwarecolinraffel.com
- DBMS Musings: It’s Time to Move on from Two Phase Commitdbmsmusings.blogspot.com