System Design : Part 2

Shashwat Agarwal
3 min readOct 15, 2022

This is the second instalment of the System Design notes I'm creating. If you haven't read the first section yet, here's a link to it. This article will discuss data, data flow, and databases.

Data & Data Flow

Data is the core entity of any system. Data is represented differently at different layers.

  • Bussiness Layer : Texts, Videos, Images, Lists
  • Application Layer : Json , XML
  • Data Stores : Tables, Indices, Lists, Trees
  • Network Layer : Packets
  • Hardware Layer : 0s & 1s

Once you get the clear understanding on how the data flows the journey of system design is halfway done.

Data Stores

  • Databases [E.g. Username, User’s phone number, City, Address]
  • Queues [E.g. Send sms request, Send email request]
  • Caches [E.g. Request : Response]
  • Indexes [E.g. Most searched item, Items searched in 1 hour]

Data Flow Methods

  • APIs
  • Messages
  • Events

Data Generation

  • Users interact with system and create more data.

--

--

Shashwat Agarwal
Shashwat Agarwal

Written by Shashwat Agarwal

Software Developer passionate about Python, Philosophy, God, and Startups. Exploring innovative ideas and diving into Golang soon.