On Monotonicity in Relational Databases and Service-oriented Architecture
Sep 27, 2022Robert Fink

Summary
This post introduces the concept of monotonicity in relational databases and REST APIs. For databases, it explains how monotonic queries (where adding data never removes results) simplify optimization and analysis, contrasting them with non-monotonic queries involving negation. For REST APIs, it defines API monotonicity as the inability to remove information through API interactions and demonstrates how this property can be used to enforce cross-service invariants, such as ensuring every account has a valid policy. It also discusses the challenges of supporting deletion while maintaining monotonicity and adhering to data minimization principles.