NoSQL (Not Only SQL) là nhóm databases không dùng relational model và SQL truyền thống, được thiết kế để giải quyết những bài toán mà SQL databases xử lý kém: schema linh hoạt, horizontal scaling, và throughput cao.
- Bốn loại chính với use case khác nhau: Document stores (MongoDB, CouchDB) — lưu JSON documents, phù hợp content management, user profiles; Key-Value stores (Redis, DynamoDB) — truy cập O(1) theo key, phù hợp caching và session; Column-family stores (Cassandra, HBase) — write-heavy workloads, time-series data ở quy mô lớn; Graph databases (Neo4j) — dữ liệu có quan hệ phức tạp như mạng xã hội, recommendation engine.
Pitfall khi chọn NoSQL: không phải lúc nào cũng tốt hơn SQL — nếu data có quan hệ rõ ràng và cần ACID transactions, PostgreSQL thường là lựa chọn tốt hơn MongoDB.