You are on page 1of 4

1.

Relational DBMD VS Non-Relational DBMS


Cơ sở dữ liệu quan hệ (Relational DBMS) và cơ sở dữ liệu phi quan hệ (Non-
Relational DBMS) là hai loại cơ sở dữ liệu có các đặc điểm và phương pháp lưu
trữ khác nhau. Dưới đây là một số điểm khác nhau giữa chúng:

Cơ sở dữ liệu quan hệ (Relational DBMS):

 Sử dụng mô hình dữ liệu quan hệ, trong đó dữ liệu được tổ chức thành các
bảng có các hàng và cột.
 Sử dụng ngôn ngữ truy vấn SQL (Structured Query Language) để truy xuất
và thao tác dữ liệu.
 Hỗ trợ các ràng buộc quan hệ như khóa chính, khóa ngoại và ràng buộc duy
nhất để đảm bảo tính toàn vẹn dữ liệu.
 Đảm bảo tính ACID (Atomicity, Consistency, Isolation, Durability) để đảm
bảo tính nhất quán và an toàn của giao dịch.
 Thích hợp cho các ứng dụng có yêu cầu cao về tính nhất quán dữ liệu và
đảm bảo tính toàn vẹn.
Cơ sở dữ liệu phi quan hệ (Non-Relational DBMS):

 Sử dụng các mô hình dữ liệu phi quan hệ như cơ sở dữ liệu key-value, cơ


sở dữ liệu tài liệu, cơ sở dữ liệu cột gia đình và cơ sở dữ liệu đồ thị.
 Sử dụng các phương pháp truy vấn không dựa trên SQL như các API, truy
vấn bằng khóa hoặc truy vấn dựa trên văn bản.
 Thường không hỗ trợ ràng buộc quan hệ và không đảm bảo tính ACID,
nhưng thường tập trung vào việc mở rộng (scalability) và hiệu suất.
 Thích hợp cho các ứng dụng có yêu cầu cao về khả năng mở rộng, hiệu suất
và linh hoạt trong việc lưu trữ và truy xuất dữ liệu.
 Lựa chọn giữa cơ sở dữ liệu quan hệ và phi quan hệ phụ thuộc vào yêu cầu
và tính chất của ứng dụng. Nếu tính nhất quán và đảm bảo tính toàn vẹn dữ
liệu là ưu tiên hàng đầu, cơ sở dữ liệu quan hệ là sự lựa chọn tốt. Ngược lại,
nếu hiệu suất, khả năng mở rộng và linh hoạt là yêu cầu quan trọng hơn, cơ
sở dữ liệu phi quan hệ có thể phù hợp hơn.
2. MySQL – Mongo
MySQL và MongoDB là hai hệ quản trị cơ sở dữ liệu phổ biến, nhưng có những khác
biệt quan trọng về cấu trúc và phương pháp lưu trữ dữ liệu. Dưới đây là một số điểm
phân biệt giữa MySQL và MongoDB:

MySQL:
 MySQL là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS), dựa trên mô hình dữ
liệu quan hệ với bảng, hàng và cột.
 Sử dụng ngôn ngữ truy vấn SQL (Structured Query Language) để truy xuất và
thao tác dữ liệu.
 Hỗ trợ các ràng buộc quan hệ như khóa chính, khóa ngoại và ràng buộc duy nhất
để đảm bảo tính toàn vẹn dữ liệu.
 Đảm bảo tính ACID (Atomicity, Consistency, Isolation, Durability) để đảm bảo
tính nhất quán và an toàn của giao dịch.
 Thích hợp cho các ứng dụng có yêu cầu cao về tính nhất quán dữ liệu và đảm bảo
tính toàn vẹn, như hệ thống quản lý cơ sở dữ liệu truyền thống.
MongoDB:

 MongoDB là một hệ quản trị cơ sở dữ liệu phi quan hệ (NoSQL), dựa trên mô
hình cơ sở dữ liệu tài liệu.
 Sử dụng một ngôn ngữ truy vấn linh hoạt (ví dụ: MongoDB Query Language)
hoặc các API để truy xuất và thao tác dữ liệu.
 Không hỗ trợ các ràng buộc quan hệ như khóa chính hoặc khóa ngoại, nhưng cho
phép linh hoạt trong cấu trúc dữ liệu.
 Không đảm bảo tính ACID mặc dù hỗ trợ các khả năng nhất quán và độ tin cậy
thông qua các tùy chọn cấu hình.
 Thích hợp cho các ứng dụng có yêu cầu cao về khả năng mở rộng, hiệu suất và
linh hoạt trong việc lưu trữ và truy xuất dữ liệu, như ứng dụng web, phân tích dữ
liệu và hệ thống xử lý dữ liệu lớn.
Lựa chọn giữa MySQL và MongoDB phụ thuộc vào yêu cầu và tính chất của ứng dụng.
Nếu tính nhất quán và đảm bảo tính toàn vẹn dữ liệu là ưu tiên hàng đầu và mô hình dữ
liệu quan hệ phù hợp, MySQL là sự lựa chọn tốt. Ngược lại, nếu khả năng mở rộng, hiệu
suất và linh hoạt là yêu cầu quan trọng hơn và mô hình dữ liệu tài liệu phù hợp,
MongoDB có thể phù hợp hơn.

3. JSON
JSON (JavaScript Object Notation) là một định dạng dữ liệu phổ biến được sử dụng để
truyền tải và lưu trữ dữ liệu. Nó được thiết kế để dễ đọc và viết cho con người và dễ dùng
cho máy tính để phân tích và tạo dữ liệu.
4. Mongo Java
Tìm tất cả document trong player collection

Tìm player theo country


Tìm player theo name và age < 25

You might also like