System Design, Infrastructure


A corgi smiling happily

With the growth of users, one server is not enough, and we need multiple servers.

  1. One for web/mobile traffic
  2. One for Database

So that they can scale independently.

Databases are of two types

  1. Relational Databases
  2. Non Relational Databases


Relational DatabasesNon Relational Databases
SQL DatabasesNO SQL Databases
Can be used when data is structuredWhen Data is non Structured

No SQL can grouped into four categories

  1. Key Value Stores (Redis)
  2. Graph Stores (Neo4j)
  3. Column Stores (Cassandra)
  4. Document Stores (S3)

Non-Relational Databases might be the right choice if:

  1. Your application needs super low latency.
  2. Your data is unstructured, or you do not have any relational data.
  3. You only need to serialise and deserialize data (JSON, XML, YAML, etc).
  4. You need to store massive amount of data.


Do you have any questions, or simply wish to contact me privately? Don't hesitate to shoot me a DM on Twitter.

Have a wonderful day.
Abhishek 🙏

Subscribe to my newsletter

Get email from me about my ideas, full-stack development resources, tricks and tips as well as exclusive previews of upcoming articles.

No spam. Just the highest quality ideas you’ll find on the web.