Câu hỏi phỏng vấn Systems Design
Câu hỏi

Trong thiết kế hệ thống, bạn tổ chức database ra sao khi dữ liệu lên tới hàng triệu bản ghi?

Câu trả lời

Để tổ chức cơ sở dữ liệu hiệu quả khi xử lý hàng triệu bản ghi, cần thực hiện các bước sau:

1. Phân vùng dữ liệu:

Chia cơ sở dữ liệu thành nhiều phần nhỏ hơn (partition) dựa trên các trường hay được truy vấn như thời gian hoặc ID. Điều này giúp tối ưu hóa việc truy vấn và quản lý dữ liệu.

2. Chỉ mục hóa:

Tạo các chỉ mục trên các cột thường xuyên được dùng trong điều kiện tìm kiếm (WHERE) và sắp xếp (ORDER BY) để tăng tốc độ truy vấn.

3. Caching:

Sử dụng hệ thống lưu đệm (caching) để giảm tải cho cơ sở dữ liệu, đặc biệt là đối với các truy vấn thường xuyên.

4. Normalization:

Áp dụng quy tắc chuẩn hóa để giảm thiểu dữ liệu trùng lặp, từ đó tối...

middle

middle

Gợi ý câu hỏi phỏng vấn

senior

Làm sao để thiết kế hệ thống hạn chế abuse/tấn công bot trong quy mô lớn?

middle

Khi thiết kế hệ thống với nhiều microservices, bạn truyền dữ liệu giữa các service thế nào?

middle

Khi thiết kế hệ thống upload ảnh, bạn xử lý việc lưu trữ file như thế nào?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào