Giới thiệu về NoSQL database

Lúc làm cho việc có database, chúng ta đã quá quen có SQLServer, MySQL, PostgreSQL, Oracle … Điểm chung của những database này là dùng ngôn ngữ SQL để truy vấn dữ liệu. Nhưng có 1 dạng database khác có những đặc tính khác biệt được gọi chung dưới dòng tên là NoSQL. Giờ chúng ta hãy cùng tìm hiểu xem nó là dòng gì, và tại sao nó lại siêu vươn lên là và được nhiều người để ý tới vậy.

  1. NoSQL database là gì ?
  • Thuật ngữ NoSQL được giới thiệu lần đầu vào 5 1998 dùng làm cho tên gọi chung cho những light-weight open supply relational database (cơ sở dữ liệu quan hệ nguồn mở bé) nhưng ko dùng SQL cho truy vấn. Vào 5 2009, Eric Evans, viên chức của Rackspace giới thiệu lại thuật ngữ NoSQL trong 1 hội thảo về cơ sở dữ liệu nguồn mở phân tán. Thuật ngữ NoSQL đánh dấu bước vươn lên là của thế hệ database new: distributed (phân tán) + non-relational (ko ràng buộc). Đây là 2 đặc tính quan yếu nhất.
  1. Tại sao lại sự cần dùng NoSQL.
  • Sở dĩ người ta vươn lên là NoSQL suất phát từ bắc buộc cần những database có khả năng lưu trữ dữ liệu có lượng cực lớn, truy vấn dữ liệu có tốc độ cao mà ko đòi hỏi quá nhiều về năng lực hartware cũng như tài nguyên hệ thống và nâng cao khả năng chịu lỗi.
  • Đây là những vấn đề mà những relational database ko thể giải quyết được.
  • Lượng dữ liệu mà những hệ thống cần nên xử lý giờ đây ngày 1 lớn. Thí dụ như Google, Fb nên lưu trữ và xử lý 1 lượng dữ liệu cực lớn từng ngày .
  • Giới thiệu về NoSQL database
  1. 1 số đặc điểm chung.
  • Excessive Scalability: Sắp như ko có 1 giới hạn cho dữ liệu và người mua trên hệ thống.
  • Excessive Availability: Do chấp nhận sự trùng lặp trong lưu trữ nên giả dụ 1 node (commodity machine) nào đấy bị chết cũng ko liên quan tới toàn bộ hệ thống.
  • Atomicity: Độc lập information state trong những operation.
  • Consistency: chấp nhận tính nhất quán yếu, có thể ko thấy ngay được sự thay đổi đổi dù rằng đã cập nhật dữ liệu.
  • Sturdiness: dữ liệu có thể tồn tại trong bộ nhớ máy tính nhưng đồng thời cũng được lưu trữ lại đĩa cứng.
  • Deployment Flexibility: việc bổ sung thêm/loại bỏ những node, hệ thống sẽ tự động động nhận biết để lưu trữ mà ko cần nên can thiệp bằng tay. Hệ thống cũng ko đòi hỏi cấu hình hartware mạnh, đồng nhất.
  • Modeling flexibility: Key-Worth pairs, Hierarchical information (dữ liệu cấu trúc), Graphs.
  • Question Flexibility: Multi-Will get, Vary queries (load 1 tập giá trị dựa vào 1 dãy những khóa).
  1. Phân loại NoSQL database. Có 4 loại chung (loại phổ thông} nhất) của cơ sở dữ liệu NoSQL. Từng loại đều có những thuộc tính và giới hạn riêng. Ko có 1 giải pháp duy nhất nào phải chăng hơn đa số những giải pháp khác, tuy nhiên có 1 số cơ sở dữ liệu phải chăng hơn để giải quyết những vấn đề cụ thể. Để làm cho rõ cơ sở dữ liệu NoSQL, hãy thảo luận những loại phổ thông} nhất:
Xem Thêm  Ý nghĩa hoa Xuyến Chi và những tác dụng tuyệt vời trong đời sống – Cây cảnh – Vườn

a. Key-value shops. Lưu trữ kiểu key-value là kiểu lưu trữ dữ liệu NoSQL đơn giản nhất dùng từ 1 API. Chúng ta có thể nhận được giá trị cho khóa, đặt 1 giá trị cho 1 khóa, hoặc xóa 1 khóa từ dữ liệu. Thí dụ, giá trị là ‘blob’ được lưu trữ thì chúng ta ko cần để ý hoặc biết những gì trên bên trong. Từ những cặp giá trị được lưu trữ luôn luôn dùng truy cập thông qua khóa chính và thường có hiệu năng truy cập phải chăng và có thể dễ dàng thu bé lại. 1 vài cơ sở dữ liệu key-value phổ thông} là Riak, Redis(thường dùng phía server), memcached, Berkeley DB, HamsterDB, Amazon DynamoDB(mã nguồn đóng), Venture Voldemort và Couchbase. Toàn bộ những cơ sở dữ liệu kiểu key-value đều ko giống nhau, có siêu nhiều điểm khác nhau giữa những siêu phẩm. Thí dụ, dữ liệu của memcached ko được nhất quán trong lúc ngược lại có Riak. Đấy là những điểm nổi bật quan yếu lúc chọn giải pháp ưu thích để dùng. Cụ thể hơn là lúc chúng ta cần cài đặt caching cho nội dung yêu thích của người mua, cài đặt dùng memcached có nghĩa là lúc những nút hỏng hết dẫn tới dữ liệu bị mất và cần nên làm cho new lại từ hệ thống nguồn. Tuy nhiên, giả dụ chúng ta lưu trữ cùng dữ liệu đấy trong Riak, chúng ta ko cần lo lắng về việc mất dữ liệu nhưng cần nên xem xét việc cập nhật trạng thái của dữ liệu như thế nào. Điều này là quan yếu ko chỉ cho chọn cơ sở dữ liệu key-value cho hệ thống và còn quan yếu cho việc chọn cơ sở dữ liệu key-value nào.

Xem Thêm  Phân tách lồn là gì | Sen Tây Hồ

b. Column-oriented databases (column-family). Cơ sở dữ liệu column-family lưu trữ dữ liệu trong nhiều cột trong từng dòng có key cho từng dòng. Column households là 1 nhóm những dữ liệu liên quan được truy cập cùng có nhau. Thí dụ, có khách hàng, chúng ta thường xuyên dùng thông tin cá nhân trong cùng 1 lúc chứ ko nên hóa đơn của họ. Cassandra là 1 trong số cơ sở dữ liệu column-family phổ thông}. Bên cạnh ra còn có 1 số cơ sở dữ liệu khác như HBase, Hypertable và Amazon DynamoDB. Cassandra có thể được miêu tả nhanh và khả năng mở rộng dễ dàng có những thực hiện viết thông qua những cụm. Những cụm ko có node grasp, vì thế bất kỳ việc đọc và ghi nào đểu có thể được xử lý bởi bất kỳ node nào trong cụm.

c. Graph databases Kiểu đồ thị này cho phép bạn lưu trữ những thực thể và quan hệ giữa những thực thể. Những đối tượng này còn được gọi là những nút, trong đấy có những thuộc tính. Từng nút là 1 mô tả của 1 đối tượng trong ứng dụng. Quan hệ được gọi là những cạnh, có thể có những thuộc tính. Cạnh có ý nghĩa định hướng; những nút được tổ chức bởi những mối quan hệ. Những tổ chức của đồ thị cho phép những dữ liệu được lưu trữ 1 lần và được giải thích theo nhiều phương pháp khác nhau dựa trên những mối quan hệ. Thông thường, lúc chúng ta lưu trữ 1 cấu trúc đồ thị giống như trong RDBMS, nó là 1 loại duy nhất của mối quan hệ. Việc nâng cao thêm 1 mối quan hệ có nghĩa là siêu nhiều thay đổi đổi sơ đồ và vận động dữ liệu, mà ko nên là trường hợp khó lúc chúng ta đang dùng cơ sở dữ liệu đồ thị. Trong cơ sở dữ liệu đồ thị, băng qua những thành phần tham dự hoặc những mối quan hệ là siêu nhanh. Những mối quan hệ giữa những node ko được tính vào thời kì truy vấn nhưng thực sự tồn tại như là 1 mối quan hệ. Đi qua những mối quan hệ là nhanh hơn so có tính toán cho từng truy vấn. Có siêu nhiều cơ sở dữ liệu đồ thị có sẵn, chẳng hạn như Neo4J, Infinite Graph, OrientDB, hoặc FlockDB (đấy là 1 trường hợp đặc biệt: 1 cơ sở dữ liệu đồ thị mà chỉ tương trợ những mối quan hệ duy nhất chuyên sâu hoặc danh sách kề, nơi mà bạn ko thể đi trải qua hơn 1 mức độ sâu sắc đối có những mối quan hệ ).

Xem Thêm  (Doc) Phoneme Và Allophone Là Gì, Allophonic Guidelines Of Spanish – sentayho.com.vn

d. Doc Oriented databases Tài liệu là nguyên lý chính của cơ sở dữ liệu kiểu dữ liệu. Dữ liệu lưu trữ và lấy ra là những tài liệu có định dạng XML, JSON, BSON,… Tài liệu miêu tả chính nó, kế thừa từ cấu trúc dữ liệu cây. Có thể nói cơ sở dữ liệu tài liệu là 1 phần của key-value. Cơ sở dữ liệu kiểu tài liệu như MongoDB phân phối ngôn ngữ truy vấn đa dạng và cúc trúc như là cơ sở dữ liệu như đánh index,… 1 số cơ sở dữ liệu tài liệu phổ thông} mà chúng ta hay gặp là MongoDB, CouchDB, Terastore, OrientDB, RavenDB.

  1. So sánh giữa RDBMS (Relational database administration system) và NoSQL. RDBMS
  • Dữ liệu có cấu trúc và tổ chức
  • Dùng ngôn ngữ SQL để truy vấn dữ liệu
  • Dữ liệu và những mối quan hệ của nó được lưu trữ trong những bảng biệt lập.
  • Có tính chặt chẽ

NoSQL

  • Ko dùng SQL
  • Ko khai báo ngôn ngữ truy vấn dữ liệu
  • Ko định nghĩa schema
  • Có 1 số nhóm dạng: Key-Worth pair storage, Column Retailer, Doc Retailer, Graph databases
  • Dữ liệu phi cấu trúc và ko thể đoán trước
  • Ưu tiên cho hiệu năng cao, tính sẵn sàng cao và khả năng mở rộng
  1. Thống kê tỉ lệ dùng của NoSQL. Giới thiệu về NoSQL database Trích nguồn: sentayho.com.vn/top-databases-2017-132912.html