Database
AI bổ sungNó là gì?
Nơi lưu dữ liệu lâu dài. Khái niệm nền tảng: Table (giống sheet Excel), Row (bản ghi), Column (trường dữ liệu), Primary Key (mã duy nhất), Foreign Key (liên kết giữa bảng), Index (tìm kiếm nhanh), Constraint (quy tắc bảo vệ dữ liệu). Phân loại chính: 2 nhóm lớn là SQL (Relational: PostgreSQL, MySQL, SQL Server) và NoSQL (Document: MongoDB, Key-Value: Redis, Wide-column: Cassandra, Graph: Neo4j). ACID là bộ 4 tính chất đảm bảo độ tin cậy của transaction: Atomicity (toàn vẹn – tất cả hoặc không có gì), Consistency (nhất quán – dữ liệu luôn hợp lệ trước/sau transaction), Isolation (độc lập – các transaction không can thiệp lẫn nhau), Durability (bền vững – dữ liệu đã commit không mất khi sự cố).
Dùng để làm gì?
Lưu người dùng, hồ sơ, dữ liệu nghiệp vụ lâu dài. SQL dùng khi dữ liệu có cấu trúc chặt, cần ACID, quan hệ phức tạp. NoSQL dùng khi dữ liệu linh hoạt, scale ngang, throughput cao, schema thay đổi thường xuyên.
App của mình khi nào cần?
Cần lưu trữ bền vững, truy vấn, lọc, tổng hợp dữ liệu. Chọn SQL cho tính nhất quán mạnh, quan hệ nhiều. Chọn NoSQL cho scale lớn, schema động, latency thấp.
Khi nào không cần?
Dữ liệu tạm thời, cache, log streaming, file media lớn (nên dùng object storage), hoặc prototype cực nhanh không cần truy vấn phức tạp.
Một câu để nhớ
SQL = bảng, quan hệ, ACID. NoSQL = linh hoạt, scale ngang, nhiều model (doc, key-value, graph).