Cơ sở dữ liệu nosql là gì

-

Khi thao tác làm việc với database, họ đã quá quen với SQLServer, MySQL, PostgreSQL, Oracle ... Điểm chung của các database này là sử dụng ngữ điệu SQL nhằm truy vấn dữ liệu. Nhưng có một dạng database không giống với phần lớn đặc tính khác biệt được gọi thông thường dưới cái thương hiệu là NoSQL. Giờ chúng ta hãy cùng khám phá xem nó là chiếc gì, và vì sao nó lại rất cách tân và phát triển và được không ít người suy nghĩ vậy.

Bạn đang xem: Cơ sở dữ liệu nosql là gì

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

a. Key-value stores.Lưu trữ đẳng cấp 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ừ 1 API. Bạn cũng có thể nhận giá tốt 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ý giá là ‘blob’ được lưu trữ thì chúng ta không cần niềm nở hoặc biết phần đa gì ở mặt trong. Từ những cặp quý hiếm được giữ trữ luôn luôn sử dụng truy cập thông qua khóa thiết yếu và thường có hiệu năng truy vấn cập giỏi và rất có thể dễ dàng thu nhỏ lại.Một vài ba cơ sở tài liệu key-value thịnh hành là Riak, Redis(thường cần 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ở dữ liệu kiểu key-value đều rất khác nhau, có tương đối nhiều điểm khác nhau giữa các sản phẩm. Ví dụ, tài liệu của memcached ko được đồng hóa trong khi ngược lại với Riak. Đấy là mọi điểm nổi bật quan trọng đặc biệt khi chọn giải pháp phù hợp để sử dụng. Rõ ràng hơn là khi họ cần cài đặt caching cho nội dung thương mến của bạn dùng, thiết đặt sử dụng memcached tức là khi các nút hỏng hết dẫn tới tài liệu bị mất và cần được làm mới lại từ khối hệ thống nguồn. Mặc dù nhiên, nếu họ lưu trữ cùng tài liệu đó vào Riak, chúng ta không cần lo lắng về việc mất dữ liệu nhưng cần được xem xét việc cập nhật trạng thái của dữ liệu như vậy nào. Điều này là đặc trưng không chỉ cho chọn cơ sở tài liệu key-value cho hệ thống và còn đặc biệt quan trọng cho việc chọn cơ sở tài liệu key-value nào.

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

Xem thêm: Có Nên Mua Xe O Tô - Thu Nhập 30 Triệu, Sử Dụng Ít Có Nên Mua Ôtô

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

d. Document Oriented databasesTài liệu là nguyên tắc chính của cơ sở dữ liệu kiểu dữ liệu. Dữ liệu tàng trữ và lôi ra là các tài liệu với định dạng XML, JSON, BSON,… Tài liệu biểu đạt chính nó, kế thừa từ cấu trúc dữ liệu cây. Nói cách khác 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ư liệu như MongoDB cung cấp ngôn ngữ truy vấn đa dạng và cúc trúc như là cơ sở dữ liệu như tấ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 mặt 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 ngữ SQL nhằm truy vấn dữ liệuDữ liệu và những mối quan lại hệ của nó được lưu trữ trong các bảng riêng rẽ biệt.Có tính chặt chẽ

NoSQL

Không áp dụng SQLKhông khai báo ngôn từ truy vấn dữ liệuKhông có mang schemaCó một số ít 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 mang đến hiệu năng cao, tính sẵn sàng cao và kỹ năng mở rộng