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

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?

Câu trả lời

Đặc điểm

SQL: Đây là hệ quản trị cơ sở dữ liệu quan hệ (RDBMS), lưu trữ dữ liệu trong bảng với hàng & cột rõ ràng. SQL đảm bảo tính toàn vẹn dữ liệu và tuân thủ ACID (Atomicity, Consistency, Isolation, Durability).

NoSQL: Gồm nhiều loại như document, key-value, column-family, graph... Phù hợp với dữ liệu phi cấu trúc, mật độ thay đổi cao và không yêu cầu chặt chẽ các ràng buộc dữ liệu ngay khi ghi.

So sánh

Ưu điểm của SQL:

  • Tính nhất quán: Tính toàn vẹn dữ liệu mạnh nhờ ACID.
  • Truy vấn phức tạp: SQL hỗ trợ tốt các truy vấn phức tạp, tích hợp sâu rộng với các công cụ phân tích.

Nhược điểm của SQL:

  • Khả năng mở rộng: Khó mở rộng ngang; thường cần giải pháp phần cứng mạnh hơn.
  • Cấu trúc cứng nhắc: Thích hợp...
middle

middle

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

middle

Bạn xử lý retry logic như thế nào để tránh race condition khi đồng bộ?

middle

Làm sao để đảm bảo idempotency cho các thao tác ghi dữ liệu nhiều lần?

senior

Làm sao để thiết kế replication phù hợp giữa các data center (multi-region replication)?

Bình luận

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

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