Câu hỏi phỏng vấn Databases
Câu hỏi

Khi bảng có hàng tỷ dòng, bạn tổ chức partitioning như thế nào? Range hay List?

Câu trả lời

Đặc điểm

Partitioning là kỹ thuật quan trọng trong quản lý cơ sở dữ liệu lớn, đặc biệt khi bảng có hàng tỷ dòng. Có hai phương pháp phổ biến: Range và List.

  • Range Partitioning: Phân chia dữ liệu dựa trên khoảng giá trị nhất định của một hoặc nhiều cột. Thích hợp cho dữ liệu có tính tuần tự hoặc liên tục, như ngày tháng hoặc ID tăng dần. Dễ dàng quản lý và cho phép tối ưu hóa truy vấn tốt hơn nếu thường xuyên sử dụng các điều kiện BETWEEN hoặc so sánh.

  • List Partitioning: Phân chia dữ liệu dựa trên giá trị riêng lẻ của cột, ví dụ như danh mục sản phẩm hoặc trạng thái đơn hàng. Thích hợp cho các tập dữ liệu rời rạc hoặc không liên quan lẫn nhau, đảm bảo việc lọc được thực hiện nhanh chóng với giá trị cụ thể.

So sánh

  • Phạm vi ứng dụng: Range p...
middle

middle

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

senior

Bạn có từng thiết kế active-active database cluster chưa? Cách tránh conflict write?

middle

Làm sao để thiết kế database cho workload hỗn hợp: transactional (OLTP) và analytical (OLAP)?

middle

Bạn từng xử lý transaction conflict hoặc deadlock chưa? Chiến lược giải quyết là gì?

Bình luận

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

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