บริการ File Storage และ Synchronization บน Cloud ที่ช่วยให้ผู้ใช้จัดเก็บ เข้าถึง และแชร์ Files จากอุปกรณ์ต่างๆ
บทนำ
Google Drive เป็นบริการ File Storage และ Synchronization บน Cloud Features หลัก:
- File Upload และ Download
- File Sync ข้าม Devices
- File Sharing
- File Revision History
- Notifications สำหรับ Edits, Deletes และ Shares
ข้อกำหนด
- Reliability: ห้ามสูญเสียข้อมูล
- Fast Sync Speed: หลีกเลี่ยงความหงุดหงิดของผู้ใช้
- Bandwidth Efficiency: ลดการใช้ข้อมูลที่ไม่จำเป็น
- 10 ล้าน DAU
Components
Block Servers
Files ถูกแบ่งเป็น 4 MB Blocks และกำหนด Unique Hash Values
Cloud Storage
Blocks ถูกจัดเก็บใน Cloud Storage (เช่น Amazon S3)
Metadata Database
เก็บ Metadata สำหรับ Users, Files, Blocks และ Versions
Notification Service
Publisher/Subscriber System ที่แจ้ง Clients เกี่ยวกับ File Changes
File Sync
Delta Sync
ถ่ายโอนเฉพาะ Blocks ที่แก้ไขแทนที่จะเป็นทั้ง File
Conflict Resolution
เมื่อผู้ใช้สองคนแก้ไข File เดียวกันพร้อมกัน ระบบจะบันทึกทั้งสองเวอร์ชันและให้ผู้ใช้ Resolve
เนื้อหานี้อ้างอิงจาก ByteByteGo - System Design Interview - An Insider's Guide