Problem (Deep Understanding) The confusion comes from thinking Fabric = fixed infrastructure, like: VM with CPU cores Dedicated SQL server π But Fabric works on a shared, consumption-based compute model So challenges are: You donβt see CPUs directly, you see Capacity Units (CU) Multiple workloads run together: Lakehouse (Spark) Warehouse (SQL) Power BI All of them compete for the same capacity pool π Result: If demand > capacity β Throttling If capacity > demand β Wasted cost π’ Solution (Core Concept) 1. What is CU (Capacity Unit)? CU represents compute power per second Think of it as: βHow much processing Fabric can do per secondβ 2. How Consumption Actually Works π Fabric measures usage as: CU consumption over time Instead of saying: βThis query used 4 CPUsβ Fabric says: βThis workload consumed 20 CU for 10 secondsβ 3. Core Formula (Interpretation) Total Consumption = CU Γ Time Example: 32 CU running for 1 hour = 32 Γ 3600 = 115,200 CU consumed π Billing + throttling decisions are based on this behavior π Example Scenario (Very Important) Given: Lakehouse workload β 20 CU/sec Warehouse workload β 12 CU/sec π Combined: Total = 32 CU/sec What does this mean practically? Every second: Fabric needs to supply 32 units of compute If capacity cannot supply β delay / throttling π’ Mapping with SKU (Critical Insight) Your SKU defines maximum CU available per second Write on Medium SKUCU/secF1616 CUF3232 CUF6464 CU Case Analysis: β F16 Capacity = 16 CU Required = 32 CU π Shortfall β 50% deficit π Result β Throttling + slow queries β F32 Capacity = 32 CU Required = 32 CU π Exact match π Works fine only if workload is stable β F64 Capacity = 64 CU π Extra buffer available π Handles: Sudden spikes Parallel queries Background refresh β±οΈ 30-Second Rule (Most Important Concept) Fabric evaluates capacity in 30-second windows Example: F32 β 960 CU per 30 sec Your usage: 32 CU Γ 30 sec = 960 CU π Perfect alignment β No throttling If exceeded: Example: You suddenly use 50 CU/sec In 30 sec β 1500 CU But F32 limit = 960 π Result: Fabric queues / slows down workloads π― Capacity Selection Strategy (Real-World Logic) Step 1: Identify Workloads Lakehouse (Spark jobs) Warehouse (queries) Power BI (reports) Step 2: Estimate CU per workload Example: Spark job β 20 CU SQL queries β 12 CU Step 3: Add them Total = 32 CU Step 4: Add buffer (VERY IMPORTANT) +20β30% headroom π 32 Γ 1.3 β 42 CU Step 5: Choose SKU F32 β borderline β οΈ F64 β safe β π΅ Key Takeaway (Expert-Level Understanding) Fabric is not resource-based (CPU/RAM) It is throughput-based (CU/sec) π Golden Rule: Always size capacity based on peak concurrent workload, not average π‘ One-Liner to Teach Students βFabric capacity planning is about ensuring your CU/sec supply always meets or exceeds your workload demand β especially during peak load.β
Microsoft Fabric
How Capacity is Consumed & Calculated in Microsoft Fabric
Microsoft Fabric uses a consumption-based compute model where resources are measured in Capacity Units (CU) instead of fixed CPUs or servers. Multiple workloads like Spark, SQL, and Power BI share the same capacity pool, and total usage is calculated as CU Γ time. If workload demand exceeds available CU/sec, Fabric throttles or delays processing. SKU sizes like F16, F32, and F64 define the maximum CU available per second. Effective capacity planning requires estimating concurrent workloads, adding buffer capacity, and selecting an SKU that can handle peak demand without performance issues.
Back to Microsoft Fabric
Discussion
No comments yet.