Nosql là gì

  -  

Khi thao tác với database, bọn họ đã quá quen với SQLServer, MySQL, PostgreSQL, Oracle ... Điểm chung của các database này là sử dụng ngôn từ SQL nhằm truy vấn dữ liệu. Nhưng có một dạng database không giống với đều đặc tính biệt lập được gọi bình thường dưới cái brand name là NoSQL. Giờ bọn họ hãy cùng tò mò xem nó là chiếc gì, và nguyên nhân nó lại rất cải cách và phát triển và được nhiều người suy xét vậy.

Bạn đang xem: Nosql là gì

NoSQL database là gì ?Thuật ngữ NoSQL được ra mắt lần đầu vào thời điểm năm 1998 áp dụng làm tên thường gọi chung cho những lightweight mở cửa source relational database (cơ sở dữ liệu quan hệ mối cung cấp mở nhỏ) cơ mà không sử dụng SQL mang lại truy vấn. Vào khoảng thời gian 2009, Eric Evans, nhân viên của Rackspace ra mắt lại thuật ngữ NoSQL trong một hội thảo chiến lược về cơ sở dữ liệu nguồn mở phân tán. Thuật ngữ NoSQL lưu lại bước trở nên tân tiến của nỗ lực hệ database mới: distributed (phân tán) + non-relational (không ràng buộc). Đây là 2 quánh tính quan trọng đặc biệt nhất.Tại sao lại cần được có NoSQL.Sở dĩ bạn ta cách tân và phát triển NoSQL suất phân phát từ yêu thương cầu cần những database có chức năng lưu trữ dữ liệu với lượng rất lớn, tróc nã vấn dữ liệu với vận tốc cao nhưng không yên cầu quá nhiều về năng lượng phần cứng cũng như tài nguyên khối hệ thống và tăng tài năng chịu lỗi.Đây là những vụ việc mà các relational database không thể xử lý được.Lượng dữ liệu mà các khối hệ thống cần đề xuất xử lý bây giờ ngày 1 lớn. Ví như Google, Facebook phải lưu trữ và giải pháp xử lý một lượng dữ liệu cực to mỗi ngày .-
*
Một số điểm sáng chung.High Scalability: sát như không tồn tại một giới hạn cho tài liệu và người dùng trên hệ thống.High Availability: Do gật đầu đồng ý sự giống nhau trong lưu trữ nên ví như một node (commodity machine) nào kia bị chết cũng không ảnh hưởng tới toàn cục hệ thống.Atomicity: Độc lập data state trong số operation.Consistency: đồng ý tính đồng nhất yếu, hoàn toàn có thể không thấy ngay lập tức được sự thay đổi mặc mặc dù đã cập nhật dữ liệu.Durability: dữ liệu có thể tồn trên trong bộ nhớ lưu trữ máy tính nhưng mà đồng thời cũng khá được lưu trữ lại đĩa cứng.Deployment Flexibility: việc bổ sung cập nhật thêm/loại bỏ các node, khối hệ thống sẽ auto nhận biết để lưu trữ mà không cần thiết phải can thiệp bằng tay. Khối hệ thống cũng ko đòi hỏi thông số kỹ thuật phần cứngmạnh, đồng nhất.Modeling flexibility: Key-Value pairs, Hierarchical data (dữ liệu cấu trúc), Graphs.Query Flexibility: Multi-Gets, Range queries (load một tập giá bán trị phụ thuộc một dãy những khóa).Phân nhiều loại NoSQL database.Có tư loại chung (loại thông dụng nhất) của cơ sở tài liệu NoSQL. Mỗi loại đều phải có các nằm trong tính và số lượng giới hạn riêng. Không tồn tại một phương án duy tuyệt nhất nào xuất sắc hơn toàn bộ các phương án khác, mặc dù có một vài cơ sở dữ liệu tốt hơn để giải quyết và xử lý các vấn đề cụ thể. Để hiểu rõ cơ sở tài liệu NoSQL, hãy đàm đạo các loại thông dụng nhất:

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

b. Column-oriented databases (column-family).Cơ sở dữ liệu column-family tàng trữ dữ liệu trong không ít cột trong những dòng với key cho từng dòng. Column families là một nhóm những dữ liệu tương quan được truy cập cùng cùng với nhau. Ví dụ, với khách hàng, chúng ta thường xuyên thực hiện thông tin cá thể trong cùng một lúc chứ chưa phải hóa solo của họ.Cassandra là một trong những trong số cơ sở tài liệu column-family phổ biến. Ngoài ra còn có một số trong những cơ sở dữ liệu khác như HBase, Hypertable và Amazon DynamoDB. Cassandra hoàn toàn có thể được biểu đạt nhanh và năng lực mở rộng dễ ợt với các thao tác viết trải qua các cụm. Những cụm không tồn tại node master, vị thế bất kỳ việc đọc cùng ghi như thế nào đểu rất có thể được cách xử trí bởi bất kỳ node nào trong cụm.

Xem thêm: Sip Phone Là Gì ? Tìm Hiểu Về Sip Server, Sip Account, Sip Phone

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

Xem thêm: Tải Bài Hát Sơn Tinh Thủy Tinh Rap Việt ’ Bùng Nổ Với Đại Chiến Sơn Tinh

d. Document Oriented databasesTài liệu là nguyên lý chính của cơ sở tài liệu kiểu dữ liệu. Dữ liệu lưu trữ và lấy ra là những tài liệu với định hình XML, JSON, BSON,… Tài liệu diễn đạt chính nó, thừa kế từ cấu tạo dữ liệu cây. Nói theo một cách khác cơ sở tài liệu tài liệu là 1 phần của key-value. Cơ sở tài liệu kiểu tư liệu như MongoDB cung cấp ngôn ngữ tróc nã vấn phong phú và đa dạng và cúc trúc như thể cơ sở dữ liệu như tiến công index,…Một số cơ sở dữ liệu tài liệu thông dụng mà chúng ta hay gặp gỡ là MongoDB, CouchDB, Terastore, OrientDB, RavenDB.

So sánh thân RDBMS (Relational database management system) và NoSQL.RDBMSDữ liệu có cấu trúc và tổ chứcSử dụng ngôn từ SQL nhằm truy vấn dữ liệuDữ liệu và những mối quan hệ của nó được lưu trữ trong các bảng riêng biệt.Có tính chặt chẽ

NoSQL

Không sử dụng SQLKhông khai báo ngữ điệu truy vấn dữ liệuKhông khái niệm schemaCó một số nhóm dạng: Key-Value pair storage, Column Store, Document Store, Graph databasesDữ liệu phi cấu tạo và không thể đoán trướcƯu tiên cho hiệu năng cao, tính chuẩn bị cao và tài năng mở rộng