NOSQL LÀ GÌ

  -  

Khi thao tác với database, họ đã quá quen cùng với SQLServer, MySQL, PostgreSQL, Oracle ... Điểm chung của không ít database này là sử dụng ngôn ngữ SQL để truy vấn dữ liệu. Nhưng có 1 dạng database không giống với đa số đặc tính khác hoàn toàn được gọi bình thường dưới cái thương hiệu là NoSQL. Giờ chúng ta hãy cùng tò mò xem nó là mẫu gì, và vì sao nó lại rất cải cách và phát triển và được nhiều người xem xét vậy.

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

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

a. Key-value stores.Lưu trữ hình dạng key-value là kiểu tàng trữ dữ liệu NoSQL đơn giản và dễ dàng nhất sử dụng xuất phát điểm từ một API. Bạn có thể nhận giá tốt trị mang đến khóa, để một giá bán trị cho một khóa, hoặc xóa một khóa tự dữ liệu. Ví dụ, cực hiếm là ‘blob’ được lưu trữ thì họ không cần vồ cập hoặc biết hầu hết gì ở mặt trong. Từ những cặp cực hiếm được lưu lại trữ luôn luôn sử dụng truy vấn thông qua khóa thiết yếu và thông thường sẽ có hiệu năng truy hỏi cập tốt và hoàn toàn có thể dễ dàng thu nhỏ lại.Một vài cơ sở tài liệu key-value thông dụng là Riak, Redis(thường sử dụng phía server), memcached, Berkeley DB, HamsterDB, Amazon DynamoDB(mã nguồn đóng), Project Voldemort cùng Couchbase.Tất cả những cơ sở tài liệu kiểu key-value đều rất khác nhau, có khá nhiều điểm khác nhau giữa những sản phẩm. Ví dụ, dữ liệu của memcached ko được đồng điệu trong khi trái lại với Riak. Đấy là các điểm nổi bật quan trọng khi chọn giải pháp tương xứng để sử dụng. Ví dụ hơn là khi bọn họ cần thiết đặt caching cho nội dung hâm mộ của tín đồ dùng, cài đặt sử dụng memcached có nghĩa là khi những nút hỏng không còn dẫn tới dữ liệu bị mất và cần phải 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 lắng về câu hỏi mất dữ liệu nhưng 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à đặc biệt quan trọng không chỉ mang đến chọn cơ sở tài liệu key-value cho khối hệ thống và còn quan trọng cho câu hỏi chọn cơ sở dữ 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 mỗi dòng cùng với key mang đến từng dòng. Column families là một trong nhóm những dữ liệu liên quan được truy vấn cùng với nhau. Ví dụ, với khách hàng hàng, chúng ta thường xuyên thực hiện thông tin cá nhân trong và một lúc chứ chưa phải hóa đối chọi của họ.Cassandra là 1 trong những trong số cơ sở dữ liệu column-family phổ biến. Hình như còn có một vài cơ sở dữ liệu khác như HBase, Hypertable với Amazon DynamoDB. Cassandra hoàn toàn có thể được diễn tả nhanh và tài năng mở rộng tiện lợi với các làm việc viết trải qua các cụm. Các cụm không có node master, vày thế bất kỳ việc đọc với ghi như thế nào đểu có thể được giải pháp xử lý bởi bất kỳ node như thế nào trong cụm.

Xem thêm: ​ Giấy Báo Nợ Là Gì ? Giấy Báo Nợ, Giấy Báo Có Là Gì

c. Graph databasesKiểu đồ dùng thị này có thể chấp nhận được bạn lưu trữ các thực thể cùng quan hệ giữa các thực thể. Các đối tượng người sử dụng này còn được gọi là các nút, trong các số ấy có những thuộc tính. Mỗi nút là một thể hiện tại của một đối tượng trong ứng dụng. Quan hệ tình dục được điện thoại tư vấn là các cạnh, hoàn toàn 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 bởi các mối quan lại hệ. Các tổ chức của thứ thị cho phép các tài liệu được tàng trữ một lần cùng được giải thích theo những cách khác biệt dựa trên những mối quan tiền hệ.Thông thường, khi bọn họ lưu trữ một kết cấu đồ thị giống như trong RDBMS, nó là một loại tốt nhất của côn trùng quan hệ. Việc tăng thêm một mối quan hệ tức là rất nhiều đổi khác sơ thứ và dịch rời dữ liệu, mà không phải là trường hợp khó khi họ đang sử dụng cơ sở tài liệu đồ thị. Trong cơ sở tài liệu đồ thị, băng qua những thành phần tham gia hoặc các mối tình dục là rất nhanh. Các mối dục tình giữa các node không được xem vào thời gian truy vấn tuy thế thực sự tồn tại như là 1 mối quan hệ. Đi qua các mối quan hệ giới tính là cấp tốc hơn so với tính toán cho mỗi truy vấn.Có không ít cơ sở dữ liệu đồ thị có sẵn, chẳng hạn như Neo4J, Infinite Graph, OrientDB, hoặc FlockDB (đó là một trong trường hợp quánh biệt: một cơ sở dữ liệu đồ thị nhưng mà chỉ cung ứng các mối quan hệ duy nhất nâng cao hoặc list kề, khu vực mà các bạn không thể đi qua nhiều hơn nữa một cường độ sâu sắc so với các quan hệ ).

Xem thêm: Kế Toán Doanh Nghiệp Tiếng Anh Là Gì, Tổng Hợp Toàn Bộ Từ Vựng Về Kế Toán

d. Document Oriented databasesTài liệu là nguyên tắc chính của cơ sở tài liệu kiểu dữ liệu. Dữ liệu tàng trữ và mang ra là các tài liệu với định hình XML, JSON, BSON,… Tài liệu miêu tả chính nó, kế thừa từ cấu tạo dữ liệu cây. Nói cách khác cơ sở tài liệu tài liệu là một 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ữ truy nã vấn đa dạng mẫu mã và cúc trúc như là cơ sở tài 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à họ hay chạm chán là MongoDB, CouchDB, Terastore, OrientDB, RavenDB.

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

NoSQL

Không sử dụng SQLKhông khai báo ngôn ngữ 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à thiết yếu đoán trướcƯu tiên mang lại hiệu năng cao, tính chuẩn bị sẵn sàng cao và khả năng mở rộng