ساخت یک کوتاهکننده لینک با Go
بخش ۲: مدل داده
طراحی جدول لینکها، انتخاب استراتژی کد کوتاه، و اجرای اولین مایگریشن.
یک کوتاهکننده در اصل یک فروشگاه key/value با آرزوهای آماری است. بیایید جدول اصلی را مدلسازی کنیم.
جدول links
CREATE TABLE links (
id BIGSERIAL PRIMARY KEY,
code TEXT NOT NULL UNIQUE,
target_url TEXT NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
hits BIGINT NOT NULL DEFAULT 0
);
کد از کجا میآید؟
دو استراتژی رایج:
- تصادفی: تولید ۷ کاراکتر base62، و تلاش دوباره در برخورد نادر.
- شمارنده + base62: رمزگذاری
idسطر به base62 برای یکتایی تضمینشده و کدهای کوتاه.
ما از رمزگذاری base62 برای id استفاده میکنیم — عاری از برخورد است و کدها
برای مدت طولانی کوتاه میمانند. در بخش بعدی، endpoint کوتاهسازی را روی این
پایه میسازیم.