


Preview text:
1. No SQL là gì? 
Cơ sở dữ liệu NoSQL là một Hệ thống quản lý dữ liệu không quan hệ 
(nonrelational Data Management System) 
2. Đặc điểm NoSQL 
Mục đích chính của việc sử dụng cơ sở dữ liệu NoSQL là dành cho các kho dữ liệu 
phân tán với nhu cầu lưu trữ dữ liệu lớn và được sử dụng cho dữ liệu lớn và ứng 
dụng web thời gian thực. 
Ví dụ : các công ty như Twitter, Facebook và Google thu thập hàng terabyte dữ liệu  người dùng mỗi ngày. 
Cơ sở dữ liệu NoSQL được phân loại thành bốn loại: Key-value pair, 
Columnoriented, Graph-based và Document-oriented 
+ Cơ sở dữ liệu cột (Column Store): Lưu trữ dữ liệu trong các cột 
+ Cơ sở dữ liệu tài liệu (Document Store): Lưu trữ dữ liệu trong các tài liệu có cấu 
trúc hoặc không cấu trúc (ví dụ: JSON, BSON). 
+ Cơ sở dữ liệu khóa - giá trị (Key-Value Store): Lưu trữ dữ liệu dưới dạng cặp 
khóa - giá trị. Đây là dạng cơ sở dữ liệu đơn giản nhất và phù hợp cho việc lưu trữ 
tạm thời hoặc lưu trữ cache. 
+Cơ sở dữ liệu đồ (Graph Database): Dùng để lưu trữ dữ liệu mô hình dạng đồ 
(graph), phù hợp cho các ứng dụng quản lý mối quan hệ và dữ liệu liên kết. 
+Cơ sở dữ liệu dòng (Row Store): Giống với cơ sở dữ liệu quan hệ, lưu trữ dữ liệu  dưới dạng các hàng. 
3. Ưu và Nhượca)Ưu điểm 
1.Khả năng mở rộng dễ dàng: Cơ sở dữ liệu NoSQL thường được thiết kế để dễ 
dàng mở rộng theo chiều ngang (horizontal scaling), cho phép hệ thống tăng cường 
khả năng chịu tải một cách linh hoạt khi cần. 
2.Xử lý dữ liệu không cấu trúc hoặc cấu trúc phức tạp: NoSQL thích hợp cho việc 
lưu trữ dữ liệu không cấu trúc hoặc có cấu trúc phức tạp VD: JSON, XML, hoặc  dữ liệu đồ (graph). 
3. Hiệu suất truy vấn: cung cấp hiệu suất truy vấn tốt hơn đối với một số loại ứng  dụng. 
4.Tích hợp dễ dàng với các công nghệ mới: tích hợp dễ dàng với các công nghệ 
mới VD: công nghệ lưu trữ dưới dạng đám mây ,các dịch vụ web. 
5.Linh hoạt trong việc thay đổi cấu trúc dữ liệu: thay đổi cấu trúc dữ liệu một cách 
linh hoạt mà không cần phải tuân theo các ràng buộc cứng nhắc như trong cơ sở dữ  liệu quan hệ.  b) Nhược điểm 
Một số hạn chế khác xuất phát từ thực tế là các hệ thống NoSQL còn khá “non trẻ” 
1.Thiếu chuẩn hóa: Do có nhiều loại cơ sở dữ liệu NoSQL khác nhau, thiếu chuẩn 
hóa gây khó khăn trong việc chọn loại cơ sở dữ liệu phù hợp và tích hợp hệ thống. 
2.Thiếu tích hợp với các công cụ phân tích dữ liệu: Các cơ sở dữ liệu NoSQL 
thường khó khăn hơn trong việc tích hợp với các công cụ phân tích dữ liệu phổ 
biến như các trình phân tích SQL. 
3.Khó khăn trong việc thực hiện truy vấn phức tạp 
4.Rủi ro về dữ liệu lặp lại hoặc mất dữ liệu: Do NoSQL thường không tuân theo 
các ràng buộc cứng nhắc như ACID (Atomicity, Consistency, Isolation, Durability) 
như cơ sở dữ liệu quan hệ, có thể gây ra rủi ro về dữ liệu lặp lại hoặc mất dữ liệu 
trong một số tình huống. 
5.Khó khăn trong việc quản lý cơ sở dữ liệu