•
1 min read
System Design - TinyURL

Two methods

Hash Function

Pros:

  • use traditional hash function
  • randomly distributed
  • support url clean
  • hash functions cost time

cons:

  • not short
  • collisions, start collisions from 2^(n/2). solution: url + timestamp

Auto-increment index

Base10, Base62

Pros:

  • simple, good with rdb
  • can be short
  • no conflicts

cons:

  • not support url clean