How to design Tiny Url System?

Still, 4S

Scenario:
我要根据一个长的URL生成一个短的(我们能转过去同时也要能转过来)
而且同时 我还要考虑短网址的唯一性 时效性 定制型。
而同时 我们也要明白我们设计的这个系统的DAU和QPS

Service:
很简单 就是把长string变短 而且变短后还必须唯一 还必须能够还原。
两个方面:
How to design Tiny Url System?
当然最主要的是如何将LongURL转换成6位的shortURL,详见我的博客《短网址生成算法》

Storage:
在生成短网址的时候必然要储存。那么存在哪里呢?表格又应该是什么样的呢?
请先问自己下面的问题:
How to design Tiny Url System?
针对我们选择的不同的算法来进行选择SQL or NoSQL

Scale:
同样 因为scale的复杂性 单独开了一个博文《the scale step of design Tiny Url System》

总结:
How to design Tiny Url System?