SQL Database
Định nghĩa
SQL Database là database quan hệ dùng bảng, schema rõ, keys, constraints và SQL để truy vấn dữ liệu có cấu trúc.
Cách hiểu bằng lời của tôi
SQL database mạnh khi dữ liệu có quan hệ rõ và correctness quan trọng. Schema, foreign key, transaction và join giúp database giữ invariant thay cho application code. Đổi lại, scale ngang và migration schema ở quy mô lớn cần thiết kế cẩn thận.
Khi phù hợp
- Transactional workloads như payment, booking, inventory.
- Dữ liệu có quan hệ nhiều bảng và cần query linh hoạt.
- Cần ACID, constraints và Transaction Isolation.
- Team muốn tận dụng tooling trưởng thành: SQL, EXPLAIN, migration, backup.
Trade-off
- JOIN lớn có thể thành bottleneck nếu index/schema không tốt.
- Vertical scaling có giới hạn.
- Distributed SQL/strong consistency trả thêm latency coordination.