Hướng dẫn thử thách
21 / 32
Case Study 1: Thiết Kế Dịch Vụ Rút Gọn Link (Pastebin / Bit.ly)
### Giai đoạn: Thiết Kế Hệ Thống Kinh Điển (Real-World Case Studies)
**Case Study 1: Thiết Kế Dịch Vụ Rút Gọn Link (Pastebin / Bit.ly)**
Bài toán kinh điển yêu cầu tạo và truy xuất mã URL rút gọn nhanh chóng. Phân tích thuật toán băm Base62, xử lý xung đột băm (Hash Collisions) qua Key Generation Service (KGS), thiết kế cơ sở dữ liệu NoSQL Key-Value và cơ chế hết hạn (TTL).
### Khái niệm cốt lõi:
1. **Thuật toán Base62: 62 ký tự (a-z, A-Z, 0-9) cho phép mã 7 ký tự tạo ra 3.5 nghìn tỷ URLs**
2. **Key Generation Service (KGS) sinh trước các key duy nhất đưa vào bộ đệm**
3. **Bộ nhớ đệm Redis lưu 20% URLs hot nhất theo nguyên lý Pareto 80/20**
### Tài liệu tham khảo chính thống:
- [Design Pastebin.com / Bit.ly - Donne Martin System Design Primer](https://github.com/donnemartin/system-design-primer/tree/master/solutions/system_design/pastebin) (article)
Nhiệm vụ của bạn
Viết giải pháp của bạn cho bài học **Case Study 1: Thiết Kế Dịch Vụ Rút Gọn Link (Pastebin / Bit.ly)** vào trình soạn thảo bên cạnh. Bấm **Chạy Thử Nghiệm** (hoặc nhấn `Ctrl+Enter`) để thực thi và ghi nhận hoàn thành kỹ năng trên Roadmap.
### Kỹ năng cần đạt:
- `URL Shortening`
- `Base62 Encoding`
- `KGS Service`
- `NoSQL`
Vượt qua bài kiểm tra hiện tại để mở khóa bài tiếp theo.
main.sql
UTF-8 • Tab Size: 2Kiểm tra bài:⌘↵