URL shortening is a process where we create short alias URLs for long URLs. These are called as short links. Some websites providing this service are tiny URL, bit.ly, goo.gl
Prerequisites:
System design introduction : 3 principles of distributed system, 5 step guide for System design.
System design concepts & components : Horizontal scaling, Hashing, Consistent hashing, Sharding, SQL vs NoSQL databases, Caching
Functional requirements
Non-functional requirements
Question:
We have 100 write requests/sec. Each write request is of 10KB. We need to calculate how much disk space we would be using in the next 5 years?
Answer:
The main problem statement is to convert original URL into short URL of some fixed length. Let us see some of the challenges associated with it.
What are the characters allowed in our short URL?
Character Encoding: Base64
Ways to generate the short URL?
Our non-functional requirements are
Sharding criteria?
Security:
Telemetry: