So sánh giữa relational database và non-relational database:
Relational Database | Non-relational Database |
---|---|
Lưu dữ liệu có cấu trúc chẳng hạn như tên, ngày tháng hoặc số lượng (các dữ liệu có thể chuẩn hóa) | Lưu dữ liệu có cấu trúc, bán cấu trúc (semi-structured) và không có cấu trúc chẳng hạn như email, video hoặc hình ảnh (các dữ liệu không thể chuẩn hóa dễ dàng) |
Hoạt động tốt với lượng dữ liệu nhỏ và vừa | Hoạt động tốt với lượng dữ liệu lớn |
Hiệu năng phụ thuộc vào ổ đĩa lưu database | Hiệu năng phụ thuộc vào độ trễ mạng, cluster size của phần cứng1 và ứng dụng sử dụng database. Có thể nói, NoSQL database thường có hiệu năng và tính mở rộng tốt hơn relational database trong một số trường hợp cụ thể |
Có thể mở rộng theo chiều dọc2 bằng cách cung cấp thêm tài nguyên cho server. Cũng có thể mở rộng theo chiều ngang bằng cách duplicate dữ liệu giữa nhiều server (sử dụng partitioning và sharding) | Có thể dễ dàng mở rộng bằng cách chia nhỏ database và phân tán ra cho nhiều database node |
Sử dụng SQL | Không sử dụng SQL |
Tuân thủ ACID | Mô hình nhất quán cuối cùng (không đảm bảo sự nhất quán ngay lập tức) |
Bảng so sánh các thuật ngữ giữa các cơ sở dữ liệu:
SQL | MongoDB | Cassandra | DynamoDB |
---|---|---|---|
Bảng | Collection | Bảng | Bảng |
Hàng | Document | Hàng | Mục |
Cột | Trường | Cột | Thuộc tính |
Khóa chính | ID đối tượng | Khóa chính | Khóa chính |
Index | Index | Index | Index thứ cấp |
Chế độ xem | Chế độ xem | Chế độ xem cụ thể hóa | Index thứ cấp toàn cục |
Bảng lồng nhau | Embedded document | Bản đồ | Bản đồ |
Mảng | Mảng | Danh sách | Danh sách |
Resources
- Relational vs. Non-relational Database: The Difference Explained
- What’s the Difference Between Relational and Non-relational Databases?
- Cơ sở dữ liệu quan hệ (Relational Database) và Non-relational Database
Footnotes
-
Xem thêm FAT File System. ↩
-
Tham khảo thêm Horizontal and Vertical Scaling In Databases ↩