So sánh giữa relational databasenon-relational database:

Relational DatabaseNon-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ừaHoạ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 databaseHiệ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 SQLKhông sử dụng SQL
Tuân thủ ACIDMô 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:

SQLMongoDBCassandraDynamoDB
BảngCollectionBảngBảng
HàngDocumentHàngMục
CộtTrườngCộtThuộc tính
Khóa chínhID đối tượngKhóa chínhKhóa chính
IndexIndexIndexIndex thứ cấp
Chế độ xemChế độ xemChế độ xem cụ thể hóaIndex thứ cấp toàn cục
Bảng lồng nhauEmbedded documentBản đồBản đồ
MảngMảngDanh sáchDanh sách

Resources

Footnotes

  1. Xem thêm FAT File System.

  2. Tham khảo thêm Horizontal and Vertical Scaling In Databases