System Design & Scalability

System Design & Scalability

A quick reference guide

Types of Scaling & Load Balancing

HORIZONTAL VS. VERTICAL SCALING

LOAD BALANCING[*]

  • Round Robin
  • Source IP Hash - a given client IP address will always go to the same server
  • Request Hash - a given request type will always go to the same server/cache; avoids cache duplication
  • Least Connections
  • Least Traffic
  • Least Latency

Data Storage Design

DATABASE - Read vs. Write Performance

Normalize vs. Denormalize

  • Normalize - ↓duplicate data ⇨ ↑write perf but ↓read perf
  • Denormalize - ↑duplicate data ⇨ ↑read perf but ↓write perf

Have your cake and…

  • Use an append-only structure for writes; then asynchronously restructure data into a read-optimized format[*]

Complete Slide Deck

Please view the complete slide deck with Google Slides. As always, I would love your feedback. Please comment on this blog or on the slides directly. Thanks!

Maybe the "clunky" #MillenniumFalcon was a poor choice for my System Design slides, but I couldn't resist.

Like
Reply

To view or add a comment, sign in

More articles by John DiFini

  • UML Sequence Diagram

    I recently had to come up to speed on some new code, so I decided to use a UML sequence diagram to help me digest the…

    1 Comment
  • Java & C++ Guide

    A quick reference guide for Java, C++, and object-oriented programming (OOP) Free Slide Deck: Classes Static Members…

    1 Comment
  • Cord Cutting

    Yesterday I joined the Millennials and cut the cord! Well, not really. Cutting the cord implies discontinuing cable…

    1 Comment
  • Product Management

    ** A Quick Reference Guide ** Free Slide Deck: Product Management Principles Borrowed from How Google Works (44) Focus…

  • Binary Reference Sheet

    If you need a refresher on binary and hexadecimal numbers, here you go! Just click the following spreadsheet to launch…

  • How Web Browsing Works

    What happens when you type a URL in a browser? 10,000-foot View[*] If requested page is in browser cache and is fresh…

  • Cassandra Overview

    Apache's distributed DBMS What is Cassandra? Database Management System (DBMS) Open-source (Apache) Distributed - runs…

Explore content categories