Why architecture matters here
MVs fail on consistency edge cases (partial view updates), repair complexity, and status in specific Cassandra versions. Architecture matters because knowing limitations before adoption avoids surprise.
The architecture: every piece explained
The top strip is the mechanism. Base table primary. View definition SELECT + WHERE. Coordinator maintains on write. View partition key must include base PK.
The middle row is caveats. Consistency async under some paths. Rebuild from base. Batch limitation no cross-view atomicity. Alternatives — app-level denorm.
The lower rows are ops. Monitoring view lag. Version status. Ops — testing + rebuild + fallback.
End-to-end flow
End-to-end: table users(base). MV users_by_email. Writes to base propagate to view via coordinator. Query hits view. Rebuild after schema change. Lag monitored. Alternative — app writes both — considered if MV bugs surface in version.