Maintains denormalized views optimized for specific query patterns. - Updated asynchronously by subscribing to the event stream. - Can have multiple read models, each optimized for different use cases. - Eventual consistency is acceptable (typically milliseconds of lag).