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

middle

Làm sao để thiết kế schema có khả năng mở rộng (scalable schema) trên hàng tỷ bản ghi?

middle

Trong kiến trúc hệ thống lớn, bạn phân biệt read replica và write replica như thế nào?

middle

Trong xây dựng hệ thống database lớn, bạn chọn giữa SQL và NoSQL như thế nào? Ưu/nhược từng loại?

Bình luận

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

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