Khi làm việc với cơ sở dữ liệu, chúng ta thường quen thuộc với SQLServer, MySQL, PostgreSQL, Oracle… Tất cả đều sử dụng ngôn ngữ SQL để truy vấn dữ liệu. Nhưng có một loại cơ sở dữ liệu khác với những đặc điểm khác biệt được gọi chung là NoSQL. Hãy cùng tìm hiểu về loại cơ sở dữ liệu này và tại sao nó đang phát triển mạnh mẽ và thu hút sự quan tâm của nhiều người.
1. NoSQL database là gì?
Thuật ngữ NoSQL được giới thiệu lần đầu vào năm 1998, dùng để gọi chung cho các cơ sở dữ liệu quan hệ nguồn mở nhỏ gọn, nhưng không sử dụng SQL để truy vấn. Năm 2009, Eric Evans, một nhân viên của Rackspace, đưa ra thuật ngữ NoSQL trong một hội thảo về cơ sở dữ liệu phân tán nguồn mở. Thuật ngữ này đánh dấu sự phát triển của cơ sở dữ liệu phân tán và không ràng buộc. Đây là hai đặc điểm quan trọng nhất.
2. Vì sao cần phải sử dụng NoSQL?
NoSQL ra đời để đáp ứng nhu cầu lưu trữ và truy vấn dữ liệu với khối lượng lớn, tốc độ cao mà không yêu cầu quá nhiều tài nguyên và phần cứng. Điều này là những vấn đề mà các cơ sở dữ liệu quan hệ không thể giải quyết được. Ví dụ, Google và Facebook phải xử lý hàng ngày một lượng dữ liệu cực kỳ lớn.
3. Một số đặc điểm chung của NoSQL database
- Khả năng mở rộng: Không có giới hạn về dữ liệu và người dùng trên hệ thống.
- Khả năng sẵn sàng cao: Sự trùng lặp trong lưu trữ không ảnh hưởng đến toàn bộ hệ thống nếu một node gặp sự cố.
- Độc lập về dữ liệu: Data state độc lập trong từng hoạt động.
- Tính nhất quán yếu: Có thể không thấy ngay sự thay đổi dù đã cập nhật dữ liệu.
- Độ bền: Dữ liệu có thể tồn tại trong bộ nhớ máy tính nhưng cũng được lưu trữ trên đĩa cứng.
- Linhtinh về triển khai: Có thể thêm/bớt node mà không cần can thiệp thủ công. Không yêu cầu cấu hình phần cứng đồng nhất.
- Linhtinh về mô hình: Có thể sử dụng key-value pairs, dữ liệu cấu trúc, đồ thị để mô hình.
- Linhtinh về truy vấn: Có thể truy vấn nhiều khóa hoặc truy vấn theo dải giá trị.
4. Phân loại cơ sở dữ liệu NoSQL
Có bốn loại chung của cơ sở dữ liệu NoSQL, mỗi loại có thuộc tính và giới hạn riêng. Không có một giải pháp nào tốt hơn tất cả các giải pháp khác, tuy nhiên có một số cơ sở dữ liệu tốt hơn để giải quyết các vấn đề cụ thể. Dưới đây là các loại phổ biến nhất:
a. Key-value stores (Lưu trữ key-value)
Lưu trữ key-value là loại cơ sở dữ liệu NoSQL đơn giản nhất, sử dụng API để lấy và đặt giá trị cho các khóa. Dữ liệu được lưu trữ dưới dạng cặp giá trị và thường có hiệu năng truy cập tốt. Một số cơ sở dữ liệu key-value phổ biến là Riak, Redis, memcached, Berkeley DB, HamsterDB, Amazon DynamoDB, Project Voldemort và Couchbase.
b. Column-oriented databases (cơ sở dữ liệu hướng cột)
Cơ sở dữ liệu hướng cột lưu trữ dữ liệu theo cột trong từng hàng với một khóa cho mỗi hàng. Column families là một nhóm các dữ liệu liên quan và thường được truy cập cùng nhau. Các cơ sở dữ liệu hướng cột phổ biến là Cassandra, HBase, Hypertable và Amazon DynamoDB.
c. Graph databases (cơ sở dữ liệu đồ thị)
Cơ sở dữ liệu đồ thị cho phép lưu trữ các đối tượng và quan hệ giữa chúng. Các đối tượng được gọi là các nút và có thuộc tính. Các quan hệ được gọi là các cạnh và có thể có thuộc tính. Các cơ sở dữ liệu đồ thị phổ biến là Neo4J, Infinite Graph, OrientDB và FlockDB.
d. Document Oriented databases (cơ sở dữ liệu hướng tài liệu)
Cơ sở dữ liệu hướng tài liệu lưu trữ và truy xuất dữ liệu dưới dạng tài liệu với các định dạng như XML, JSON, BSON. Các tài liệu miêu tả chính nó và thừa kế từ cấu trúc dữ liệu cây. Các cơ sở dữ liệu hướng tài liệu phổ biến là MongoDB, CouchDB, Terastore, OrientDB và RavenDB.
5. So sánh giữa RDBMS và NoSQL
RDBMS:
- Dữ liệu có cấu trúc và tổ chức.
- Sử dụng ngôn ngữ SQL để truy vấn dữ liệu.
- Các dữ liệu và mối quan hệ được lưu trữ trong các bảng riêng biệt.
- Yêu cầu tính chặt chẽ.
NoSQL:
- Không sử dụng SQL.
- Không khai báo ngôn ngữ truy vấn dữ liệu.
- Không định nghĩa cấu trúc dữ liệu.
- Có nhiều nhóm dạng khác nhau.
- Dữ liệu phi cấu trúc và không thể đoán trước.
- Ưu tiên hiệu năng, sẵn sàng và khả năng mở rộng.
6. Thống kê tỉ lệ sử dụng NoSQL
Trích nguồn: https://jaxenter.com/top-databases-2017-132912.html
Thông tin trong bài viết này được cung cấp bởi HEFC. Để biết thêm thông tin chi tiết, vui lòng truy cập trang web [hefc.edu.vn](https://www.hefc.edu.vn).