Docs học tập
Backend nền tảng

D3 · SQL và NoSQL – Chọn loại nào?

SQL: ACID, nhất quán mạnh, có cấu trúc, hỗ trợ JOIN, thường scale dọc.

D3 · Middle · cốt lõi

SQL như sổ kế toán có kẻ ô sẵn, ghi đúng khuôn, chặt chẽ. NoSQL như sổ tay tự do, ghi gì cũng được, dễ thêm trang.

Cốt lõi

  • SQL: ACID, nhất quán mạnh, có cấu trúc, hỗ trợ JOIN, thường scale dọc.
  • NoSQL: BASE, nhất quán cuối cùng (eventual), schema linh hoạt, scale ngang, tự động sharding.

Đánh đổi

SQL → Payments, banking, quản lý kho. NoSQL → feed, chat, IoT, session store.

Trong thực tế

Stripe dùng Postgres cho thanh toán; newsfeed Instagram dùng Cassandra.

Bug thường gặp

Chọn NoSQL vì "nhanh, dễ scale" rồi phải tự viết JOIN và giao dịch trong code ứng dụng.

Tự hỏi lại

Có thể dùng cả hai (polyglot persistence)? Postgres có scale ngang được không?

On this page