Materialized View
Định nghĩa
Materialized view là kết quả query được lưu lại thành bảng/read model và refresh theo cơ chế hoặc lịch định trước.
Cách hiểu bằng lời của tôi
Materialized view trả trước chi phí query để read rẻ hơn. Khác cache ở chỗ staleness window thường được quyết định bởi refresh strategy, không chỉ tình cờ theo TTL hoặc traffic.
Refresh strategy
- Full refresh: đơn giản nhưng tốn, làm refresh interval dài.
- Incremental refresh: rẻ hơn nhưng khó đúng vì phải xử lý delete, out-of-order update và partial failure.
Khi không hợp
- Refresh cost gần bằng query gốc.
- Freshness yêu cầu ngắn hơn thời gian refresh.
- Logic thay đổi quá nhanh khiến read model khó giữ đúng.