BLOG ĐANG TRONG THỜI GIAN PHÁT TRIỂN, MONG SỰ QUAN TÂM CỦA MỌI NGƯỜI DÀNH CHO BLOG MỚI NÀY CỦA HUNG.PRO.VN

Dùng Google Sheets làm Database cho hệ thống hàng trệu User?

Dùng Google Sheets làm Database cho hệ thống hàng trệu User?, hướng dẫn cách sữ dụng google sheets làm database cho hệ thống user website
2 min read
Levels.fyi, một trang web nghề nghiệp dành cho các chuyên gia, đã đạt được hàng triệu người dùng bằng cách sử dụng một giải pháp Database độc đáo: Google Sheets! Trong những năm đầu, mọi dữ liệu lương – hơn 100k bản ghi – được nhồi vào một file JSON duy nhất, tải thẳng xuống trình duyệt.

Không server phức tạp, không tối ưu hóa sớm, chỉ có Google Sheets, điều này giúp họ tập trung phát triển sản phẩm, tiết kiệm chi phí hạ tầng, và dễ dàng vận hành mà không cần bảo trì server. Sự đơn giản tột độ đã giúp họ scale lên 2 triệu user/tháng.
Vậy họ đã làm như nào???

- Thành phần hệ thống:

Hệ thống của Levels.fyi sử dụng:
  1. Google Forms: Nơi người dùng nhập dữ liệu ban đầu.
  2. Google Sheets: Lưu trữ toàn bộ dữ liệu.
  3. AWS Lambda: Xử lý dữ liệu và logic nghiệp vụ.
  4. AWS API Gateway: Cầu nối giữa frontend và backend.

- Quy trình ghi dữ liệu (Write Flow)

Ví dụ: Khi người dùng thêm một mức lương mới:
  • Phiên bản đầu tiên: Người dùng nhập trực tiếp qua giao diện Google Forms.
  • Phiên bản sau này: Giao diện riêng và validate dữ liệu ngay trên frontend.
1. Frontend gọi API Gateway công khai.
2. API Gateway kích hoạt hàm Lambda.
3. Lambda xử lý và thêm dữ liệu vào Google Sheets.

- Quy trình đọc dữ liệu (Read Flow)

Để hiển thị dữ liệu (như biểu đồ lương):
  1. Xử lý dữ liệu: AWS Lambda lấy dữ liệu từ Google Sheets và tạo tệp JSON.
  2. Lưu trữ: Tệp JSON được lưu trên AWS S3.
  3. Phân phối: Sử dụng AWS Cloudfront (CDN) để cache tệp JSON.
  4. Tải về: Trình duyệt người dùng tải tệp JSON và xử lý phía client (tính toán, vẽ biểu đồ…).
---------------------------------------------
System design không phải lúc nào cũng cần "hoành tráng" – Đôi khi, trong giai đoạn đầu của startup, việc ưu tiên tốc độ phát triển và tiết kiệm chi phí quan trọng hơn việc xây dựng công nghệ phức tạp, giúp tập trung vào giá trị cốt lõi và thử nghiệm ý tưởng nhanh chóng

Bạn có thể thích những bài đăng này

2 nhận xét

  1. second ago
    website đó tải nhanh nhỉ? nhưng theo mình nghĩ nó sữ dụng google sheets để làm trình lưu user cho 1 sản phẩm nào đó chứ không phải làm hosting đc. Và vấn đề này mình cũng chưa hiểu rỏ lắm
    1. second ago
      đúng rồi bạn, website đó chỉ lưu trữ user đăng ký và những tác vụ của ng dùng thôi bạn nhé.
Hung Pro Blog @ 2025
Chia sẽ kiến thức và tư duy sáng tạo về nhiều ngôn ngữ lập trình khác nhau. Csharp, Visual Studio, Blogger, HTML, Javascript, CSS..v.v
Developed by Jago Desain