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

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