
Principles of System Design – Part 2
Applications require long-term storage for the user or application-specific data. Arrays in-memory data structures such as linked lists are optimized for CPU access through pointers. Permanent storage is designed for read/write access by clients/processes that connect to the database server. Data modeling is a critical component of long-term persistence. This post will focus on how […]

Principles of System Design – Part 1
When developing systems, three major considerations should be addressed: reliability, scalability, and maintainability. These terms are often used, and I want to provide explanations for each of them in this blog. Reliability The capacity of a system to tolerate errors or issues in order to avert breakdowns or total shutdowns is referred to as reliability. […]