Giới thiệu về NoSQL database

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.

Giới thiệu về NoSQL database

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

Giới thiệu về NoSQL database

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).

Related Posts

Xét nghiệm Giải phẫu bệnh – Dẫn đường cho việc điều trị

Xét nghiệm giải phẫu bệnh được thực hiện trên những mẫu bệnh phẩm tế bào, bệnh phẩm mô từ các cơ quan trong cơ thể được sinh…

Phương pháp điều trị tủy răng tại nha khoa hiện nay

Viêm tủy răng là một trong những vấn đề về sức khỏe răng miệng nghiêm trọng. Người mắc viêm tủy răng không chỉ phải chịu đựng những…

Mỹ thuật ứng dụng là gì? (cập nhật 2023)

Khi những giá trị thẩm mỹ ngày càng được chú trọng thì các phẩm mỹ thuật ứng dụng ngày càng đi sâu vào đời sống của mọi…

Bát quái đồ là gì? Ý nghĩa và vai trò của bát quái trong phong thủy

Bát quái đồ là vật phẩm phong thủy được sử dụng khá rộng rãi và phổ biến trong văn hoá phương Đông, nhằm mang lại những niềm…

Du học ngành khoa học ứng dụng và cơ bản

>> Du học ngành khoa học đại cương >> Các trường có đào tạo ngành Khoa học ứng dụng và cơ bản Khoa học Ứng dụng và…

Trồng răng implant là gì? Những điều cần phải biết trước khi chọn trồng răng implant

Trồng răng implant là phương pháp trồng răng cấy trụ kim loại vào xương hàm để thay thế cho răng đã mất. Chính vì vậy trụ implant…