Skip to main content

Practice: Cloud Services Platform

Premium

Scenario: You're designing a data model for Amazon Web Services (AWS) to analyze service usage, customer billing, and infrastructure performance.

Requirements:

  • Track resource usage (compute, storage, network) by service and customer
  • Analyze billing and cost optimization opportunities
  • Monitor service performance and availability metrics
  • Measure customer growth and churn across different service tiers
  • Analyze patterns in service adoption and usage across industries

Task: Create a high-level dimensional model to support these requirements.

Identify core business processes. What are the main events or measurements that generate the data needed for these analyses? Consider resource usage, billing events, and performance measurements.

Think about different types of fact tables. Given the variety of metrics needed, would a single fact table suffice, or do you need different types of fact tables?

Consider the granularity of your fact tables. At what level of detail do you need to store data to support all required analyses? Think about the trade-offs between granularity and table size.

Identify dimensions. What contextual information is needed to analyze these events? Consider the "who, what, where, when" of each process.

Think about slowly changing dimensions. Which entities might have attributes that change over time, and how should these changes be tracked?