(P.1) System Design – Envelope Estimation

2 min read

Envelope Estimation

Envelope Estimation

Mở bài:

  • Ước tính mặt sau phong bì (Envelope Estimation): là một kỹ thuật dùng để phán đoán nhanh chóng các yêu cầu về thiết kế hệ thống, giả định các giá trị đầu vào, sử dụng các phép tính đơn giản để ước tính để đưa ra thiết kế khả thi cho đề bài. Phương pháp này thường được sử dụng trong các cuộc phỏng vấn thiết kế hệ thống.
  • Tên gọi của phương pháp này được sinh ra là vì các giả định, phép toán, ước tính này thường được gói gọn bằng với kích cỡ của một chiếc phong bì.

Ước tính nhu cầu tài nguyên:

  • Ước tính loại này bao gồm ước tính số lượng server, dung lượng lưu trữ cần thiết và băng thông mạng.
  • Các giá trị đầu vào phục vụ cho dự đoán này có thể bao gồm số lượng người sử dụng hàng ngày (DAU – Daily Active Users), số lượng truy vấn trên mỗi người dùng, hoặc mỗi giây. Từ những dữ liệu đó có thể ước tính lượng tài nguyên cần thiết.

Ước tính hiệu suất:

  • Ước tính loại này có thể được dùng để ước tính hiệu suất của một hệ thống. Ví dụ, để ước tính thời gian phản hồi của một truy vấn cơ sở dữ liệu, chúng ta có thể bắt đầu bằng cách ước tính thời gian truy cập cơ sở dữ liệu và thời gian xử lý dữ liệu. Sau đó có thể sử dụng các thông số này để ước tính tổng thời gian phản hồi.

Ước tính chi phí:

  • Ước tính loại này có thể được sử dụng để ước tính chi phí của một hệ thống. Ví dụ, để ước tính chi phí lưu trữ cho một ứng dụng thì có thể bắt đầu bằng cách ước tính lượng dữ liệu mà ứng dụng sẽ lưu trữ theo ngày, tháng, năm, tỉ lệ đọc/viết (read/write). Sau đó, có thể sử dụng các dữ liệu đầu vào này để ước tính chi phí lưu trữ hàng tháng.

Các đơn vị thường gặp khi dùng phương pháp Envelope Estimation:

  • DAU (Daily Active Users): Số lượng người dùng hoạt động mỗi ngày. Ví dụ, nếu một ứng dụng web có 1.000.000 DAU, thì có nghĩa là có 1.000.000 người dùng truy cập ứng dụng đó ít nhất một lần mỗi ngày.
  • QPS (Query per sec): Số lượng truy vấn mỗi giây. Ví dụ hệ thống có 10.000 DAU, mỗi người sử dụng trung bình tạo 5 query mỗi lần. Khi ấy, QPS sẽ là 50.000. Từ đó có thể ước tính được tài nguyên cần có cho server cả khi bình thường và khi cao điểm.
  • Power of Two: Khi nói đến việc quy đổi các đơn vị đo của Dữ liệu, để phép tính được đơn giản hơn, thì ta không bắt buộc các đơn vị phải được quy đổi chính xác.

Nguồn tài liệu tham khảo:

Avatar photo

Clean Code: Nguyên tắc viết hàm trong lập trình…

Trong quá trình phát triển phần mềm, việc viết mã nguồn dễ đọc, dễ hiểu là yếu tố then chốt để đảm bảo code...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc comment trong lập trình

Trong lập trình, code không chỉ là một tập hợp các câu lệnh để máy tính thực thi, mà còn là một hình thức...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc xử lý lỗi (Error Handling)

Trong quá trình phát triển phần mềm, việc xử lý lỗi không chỉ là một phần quan trọng mà còn ảnh hưởng trực tiếp...
Avatar photo Dat Tran Thanh
4 min read

Leave a Reply

Your email address will not be published. Required fields are marked *