CƠ SỞ DỮ LIỆU NOSQL

Một phần của tài liệu Giáo trình Điện toán đám mây: Phần 1 (Trang 39 - 40)

LƯU TRỮ VÀ XỬ LÝ DỮ LIỆU 2.1 Ô THỐNG LƯU TRỮ PH]N T\N V[ ĐỒNG

2.3. CƠ SỞ DỮ LIỆU NOSQL

Các hệ quản trị dữ liệu quan hệ (RDBMS) từ l}u đ~ được xem như l{ giải pháp số một trong lưu trữ và truy vấn dữ liệu cấu trúc trong nhiều thập kỷ qua. RDBMS cung cấp mơ hình dữ liệu quan hệ mà với mơ hình này có thể đặc tả hầu hết mối quan hệ giữa các tập dữ liệu lưu trữ. Một trong những đặc tính cơ bản của RDBMS là bảo đảm ngữ nghĩa ACID cho phép xử lý các giao dịch dữ liệu một cách tin cậy. Điều này giải phóng ứng dụng khỏi khối lượng cơng việc khổng lồ đảm bảo tính tồn vẹn của dữ liệu trong truy cập tương tranh.

Khi lượng dữ liệu được lưu trữ ngày càng lớn v{ vượt ra khỏi giới hạn xử lý của một máy chủ RDBMS duy nhất, rất nhiều các kỹ thuật được đưa ra để mở rộng hiệu năng của hệ thống RDBMS. Một trong những kỹ thuật phổ biến l{ “database sharding” thực hiện bằng c|ch chia cơ sở dữ liệu tổng thể thành các phần “shards” v{ ph}n t|n trên cụm RDBMS cluster. Tuy nhiên, do độ phức tạp cao của cơ chế bảo đảm ACID, các cụm RDBMS cluster thường chỉ được triển khai trên quy mô nhỏ vài chục nốt.

Từ năm 2005, cộng đồng nghiên cứu về cơ sở dữ liệu trên thế giới đồng ý rằng sự thống trị của RDBMS đ~ kết thúc và kêu gọi cần phải thiết kế c|c cơ sở dữ liệu chun biệt hóa với tính khả mở cao để phù hợp với nhu cầu thực tế. Lớp các hệ cơ sở dữ liệu mới n{y được gọi dưới tên chung là NoSQL. Hiện tại có các hệ cơ sở NoSQL điển hình như Amazon Dynamo, Cassandra, CouchDB,…

Đặc điểm chung của các hệ NoSQL là tính khả mở cao, so với RDBMS có những khác biệt cơ bản như dưới đ}y:

Mơ hình dữ liệu đơn giản hố: NoSQL không tổ chức dữ liệu dưới các bảng quan hệ.

NoSQL có mơ hình tổ chức dữ liệu dưới bốn nhóm chính: key/value, hướng văn bản (document-oriented), hệ cột (column-familly store) v{ cơ sở dữ liệu đồ thị (Graph database).

Cơ sở dữ liệu (DBMS) key/value cung cấp mơ hình dữ liệu và giao diện ứng dụng API đơn giản nhất giống với bảng băm (hashtable). Ứng với mỗi khóa, DBMS key/value chỉ cho phép đọc, ghi và xóa giá trị được định danh bởi khóa đó. Ví dụ kiểu NoSQL key/value là: Amazon Dynamo, Riak.

DBMS hướng văn bản được thiết kế để quản trị dữ liệu nửa cấu trúc (semistructured data) tổ chức dưới dạng tập hợp c|c văn bản. Giống như DBMS key/value, mỗi văn bản trong DBMS được định danh bằng một khóa duy nhất. Tuy nhiên, vì văn bản có cấu trúc gồm nhiều thuộc tính, DBMS hướng văn bản cho phép tạo chỉ mục tìm kiếm cho c|c trường thuộc tính này. Ví dụ của DBMS hướng văn bản bao gồm: CouchDB và MongoDB.

DBMS hệ cột tổ chức cấu trúc dữ liệu dưới dạng các bảng ánh xạ đa chiều thưa như mơ hình Google Bigtable. Về cơ bản, dữ liệu tồn tại dưới dạng bảng như trong RDBMS nhưng các dịng trong bảng khơng nhất thiết có cùng tập các cột. Hơn nữa, DBMS hệ cột này phần lớn không hỗ trợ phép to|n JOIN như trong DBMS.

Độ phức tạp được đơn giản hóa: RDBMS với đặc tính ACID đảm bảo dữ liệu ln được

tồn vẹn và nhất quán trong giao dịch. Tuy nhiên, đặc tính này trong thực tiễn với các ứng dụng internet như hiện nay trở nên khơng cần thiết. NoSQL lựa chọn tính khả mở thay vì cam kết bảo đảm ACID. Để có thể mở rộng tới mơ hình triển khai phân tán trên hàng ngàn máy chủ lưu trữ, NoSQL phần lớn chỉ hỗ trợ mơ hình nhất qn sau cùng (eventual

consistency model) như l{ c|c thao t|c đọc có thể được trả về dữ liệu cũ chưa được cập nhật với thay đổi mới với điều kiện đảm bảo sau cùng thì c|c thao t|c đọc ln nhận về dữ liệu mới nhất đ~ cập nhật.

Mơ hình mở rộng ngang trên phần cứng phổ thông: Không giống như RDBMS, c|c DBMS

NoSQL có tính khả mở cao trên các phần cứng phổ thơng. Các nốt lưu trữ của NoSQL có thể gia nhập hay ra khỏi hệ thống tùy theo nhu cầu mà không làm ảnh hưởng đến sự hoạt động của hệ thống.

Một phần của tài liệu Giáo trình Điện toán đám mây: Phần 1 (Trang 39 - 40)

Tải bản đầy đủ (PDF)

(93 trang)