# Terminologies in System Design - Scaling: Horizontal and vertical - Caching - Load Balencing - Database replication and partitioning - Asynchronism - Throughput latency - Performance vs scalability - Availability vs Consistency