La progettazione di sistemi è fondamentalmente una questione di compromessi — non puoi ottimizzare tutto contemporaneamente, quindi una buona progettazione implica comprendere i compromessi e fare scelte deliberate in base ai requisiti e alle priorità specifiche. Ragionare bene sui compromessi è l'essenza della progettazione di sistemi.
Perché è importante
Every design decision involves TRADE-OFFS → improving one thing often costs another:
→ you CAN'T maximize consistency, availability, performance, cost, simplicity all at once
→ "it depends" → the right choice depends on the specific REQUIREMENTS and priorities
→ system design = making informed trade-offs, NOT finding a universal "best" design.
