Strong as a beginner revision aid. Weaker as an academic or production architecture reference.
CAP theorem is not “pick any two.”
Common shortcut
“Consistency, availability, partition tolerance — you can only have two out of three.”
Better formulation
When a network partition occurs, a distributed system cannot simultaneously guarantee both strong consistency and availability.
Consistency
Clients observe a state consistent with the chosen model; under strong consistency this means operations appear in a single coherent order.
Availability
Every request to a non-failing node receives a response, even while parts of the distributed system cannot communicate.
Vertical and horizontal scaling are correctly identified — but incomplete.
Vertical scaling · Scale up
Add CPU, memory, storage or faster hardware to a single machine. Simple operationally, but bounded by hardware limits and fault-domain concentration.
Horizontal scaling · Scale out
Add nodes or instances. This can improve capacity and resilience, but introduces distributed-state, coordination and consistency concerns.
SQL vs NoSQL should be a workload decision, not a slogan.
Relational / SQL
Strong fit for relational data, expressive queries, joins, constraints and mature transaction semantics. Modern relational systems can also scale horizontally and store JSON/document data.
NoSQL
An umbrella category covering document, key-value, wide-column and graph databases. Often chosen for access-pattern fit, distribution model, scale characteristics or flexible schemas.
Kafka and RabbitMQ solve overlapping — not identical — problems.
Message brokers
Systems such as RabbitMQ focus on routing and delivering messages between producers and consumers with queue- and broker-oriented semantics.
Event streaming platforms
Systems such as Kafka center on durable ordered event logs, partitions, consumer offsets, replay and high-throughput event streams.
CQRS and event-driven architecture are related — but not synonyms.
CQRS
Separates command/write responsibilities from query/read responsibilities. Separation can be logical or physical; it does not inherently require separate databases or microservices.
Event-driven architecture
Components communicate through events. Real production design must address delivery semantics, retries, ordering, duplicate handling, schema evolution and backpressure.
The cheat sheet’s definitions are useful — with one major wording fix.
A real system-design guide needs more than vocabulary.
A stronger way to reason about architecture.
Good interview memory aid. Not yet a rigorous architecture framework.
The original material demonstrates solid familiarity with mainstream system-design terminology. Its largest weakness is not incorrect vocabulary, but compression: important distributed-systems trade-offs are reduced to slogans. The refined version above preserves the accessibility while restoring the technical distinctions that matter in real architecture work.