Сервис устроен до безобразия просто. Достаточно одной таблицы в бд:
т. е. при добавлении новой ссылки просто добавляется новая строка, и возвращается ее ид.
ид строки представляют в base62 / 64 / etc. виде (впрочем, можно и цифрами оставлять).
При запросе сокращенной страницы, получают ее идентификатор, декодируют, достают соответствующую строку из БД, и редиректят на нее.
Для написания своего алгоритма изучите системы счисления. Переводы между десятичной и системой счисления со своим набором символов (алфавитом).