[System Design/ OS]Part#1:System Design/OS (DevOps/SRE) Resources Collection

SValakatte
3 min readJun 21, 2022

--

Below are my collection of resources to learn about system design/operating systems related concepts. As I continue on my journey of learning new things, I will keep on adding to this list ! :) Happy Learning !!

p.s. I have created a new post dedicated to “Databases related notes w.r.t system design” — https://svalaks.medium.com/system-design-my-notes-on-database-pros-and-cons-will-keep-updating-151e7be74c4b

IMPORTANT IMAGE TO REMEMBER !! ==>

Image Source: Web Scalability for Startup Engineers by Artur Ejsmont

Practice the below conversion for “Back of envelope estimation”:

Source: Google images

Videos upload/play :

(1) https://www.youtube.com/watch?v=aFLU6T15seY&t=327s

(2) https://www.youtube.com/watch?v=IlFmBbeKRXQ&list=PLeqAcoTy5741TeOwbHlOGo3ksABIx5rg-&index=3

(3) https://www.youtube.com/watch?v=7hZXBrI2TjY

Linux Internals:

(1) Paging and Swapping : http://www.learnlinux.org.za/courses/build/internals/ch05s03.html

(2) What happens when you boot your computer?
https://www.youtube.com/watch?v=7D4qiFIosWk

Facebook Timeline:
http://highscalability.com/blog/2012/1/23/facebook-timeline-brought-to-you-by-the-power-of-denormaliza.html

Scale at Facebook:
https://www.infoq.com/presentations/Scale-at-Facebook/

Realtime map-matching algorithm used by Lift:
https://eng.lyft.com/a-new-real-time-map-matching-algorithm-at-lyft-da593ab7b006

Distributed Rate-Limiting Algorithms:
https://medium.com/criteo-engineering/distributed-rate-limiting-algorithms-a35f7e24783

Design News Feed system:
https://liuzhenglaichn.gitbook.io/system-design/news-feed/design-a-news-feed-system

How Facebook configures its millions of servers every day:
https://engineering.fb.com/2018/07/19/data-infrastructure/location-aware-distribution-configuring-servers-at-scale/

System Design:

Building your own price tracking engine => https://aakashgoel.com/a-guide-to-building-your-own-price-tracking-engine-65b2db4b47c7

Database choices:

Relational database

  • many-to-many relationships
  • data and data relationships need to strictly follow schema
  • consistent transactions are important
  • hard to scale because relationships are hard to partition effectively

Graph database

  • many-to-many relationships (graph structure)
  • fast at following graph edges
  • suited to complex network analytics
  • less mature technology than Relational

Document store

  • isolated documents
  • retrieve by a key
  • documents with different schemas that are easy to update
  • easy to scale

Key-value store / object store

  • opaque values
  • no schema or relationships known to the database
  • very simple operations
  • easy to scale

Column-family database

  • groups related columns for storage (easy to scale)
  • memory effective for sparse data

Search engine database

  • large amounts of unstructured data
  • full text search or fuzzy search service

Time series database

  • data is ordered by time
  • many data streams
  • real time entry ordering functionality

--

--

SValakatte

Passionate about problem solving; #VoraciousReader #MBTIEnthusiast #LovePsychology