14 results for "System Design"
Articles (14)
Caching Concepts
Cache-Aside — System Design
Cache-Aside is the most commonly used caching pattern in system design. Reading from the database when cache misses Putting the database result into cache.
Database System Design
SQL vs NoSQL 🗄️ — Choosing the Right Database
SQL and NoSQL databases solve different data-storage requirements. In system design interviews, the important part is understanding their data model, consistency, scalability, and when to choose each one.
System Design - Concepts
Layer 4 vs Layer 7 Load Balancing — What's the Difference?
Load balancers can operate at different layers of the network stack. The two important types for system design are Layer 4 and Layer 7 load balancing.
System Design - Concepts
DNS in System Design
DNS stands for Domain Name System. It translates human-readable domain names into IP addresses.
System Design - Concepts
TCP vs UDP in System Design
TCP and UDP are two important transport layer protocols used for this purpose. Understanding the difference is important when designing APIs, real-time systems, video streaming, gaming systems, messaging platforms, and distributed applications.
System Design - Concepts
Stateful vs Stateless Services in System Design
State is information that a system needs to remember about a user or an ongoing operation. If a server stores this information locally and needs it to process future requests, the service is stateful.
System Design - Concepts
Horizontal vs Vertical Scaling in System Design
When an application starts receiving more traffic, we need to increase its capacity.
System Design - Concepts
CAP Theorem in System Design
CAP Theorem is one of the most important concepts in distributed system design.
System Design - Concepts
Latency vs Throughput in System Design
Latency and throughput are two important concepts used to understand the performance of a system.
System Design - Concepts
Performance in System Design
Performance describes how quickly and efficiently a system responds to requests and completes its work.
System Design - Concepts
Reliability in System Design
Reliability means the ability of a system to consistently perform the correct operation over a period of time.For example, imagine a banking application that is always accessible, but sometimes transfers the same payment twice.
System Design - Concepts
Availability in System Design
Availability means how often a system is operational and accessible when users need it. Imagine you are using a banking application at 2 AM. You try to check your account balance, but the application is down.
System Design - Concepts
Scalability in System Design
A scalable system should be able to handle this growth by adding or improving resources. The API server may start using high CPU and memory. Database connections may increase.
System Design - Concepts
System Design Explained
How do real-world applications handle millions of users, huge traffic, failures, and massive data? In this article, we understand the fundamentals of System Design with real-world examples using ASP.NET Core and SQL Server.