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?