An architect is modeling a 'Subscription' service where Customers have multiple active subscriptions. Which approach best handles the 'Current' vs 'Historical' subscription data for reporting?
A single object with a status field and date range is the most efficient design. It allows for simple filtering (e.g., WHERE Status = 'Active') and makes historical reporting straightforward. This pattern is easy to maintain and scales well as the number of subscription records grows.
Why this answer
Using a combination of a status field and a date range is the standard way to model active versus historical subscriptions. By flagging records as 'Active' and using the 'End Date' field, the architect allows the system to easily filter for current records while maintaining a full history. This design supports both operational reporting and long-term analytical tracking, which is essential for subscription-based business models.
Exam trap
Candidates often try to create separate objects for historical and current records, leading to complex data synchronization challenges rather than utilizing simpler status-driven schemas.