So sánh các hệ thống quản lý cơ sở dữ liệu NoSQL và các mô hình

Giới thiệu
Cơ sở dữ liệu NoSQL cố gắng để cung cấp chức năng nhất định mà quản lý cơ sở dữ liệu quan hệ truyền thống hơn hệ thống không. Cho dù đó là để giữ đơn giản khóa-giá trị cặp cho ngắn hơn độ dài của thời gian cho các mục đích bộ nhớ đệm, hoặc giữ bộ sưu tập có cấu trúc (ví dụ như các bộ sưu tập) của dữ liệu mà có thể không được dễ dàng xử lý bằng cách sử dụng cơ sở dữ liệu quan hệ và ngôn ngữ truy vấn cấu trúc. (SQL)-họ đang ở đây để giúp đỡ.

Trong bài viết này DigitalOcean, chúng tôi sẽ cố gắng giới thiệu bạn đến các NoSQL cơ sở dữ liệu quản lý hệ thống phổ biến và giải thích các mục đích và chức năng, do đó bạn có thể quyết định cái nào để sử dụng, hoặc nếu họ thậm chí phù hợp với các ứng dụng cần– cả .

Bảng thuật ngữ
1. cơ sở dữ liệu quản lý hệ thống
2. Hệ thống quản lý cơ sở dữ liệu NoSQL
Chìa khóa / giá trị dựa trên
Cột dựa
Tài liệu dựa trên
Dựa trên đồ thị
3. khóa / giá trị NoSQL dựa trên cơ sở dữ liệu quản lý hệ thống
Phổ biến khóa / giá trị dựa trên cơ sở dữ liệu
Khi sử dụng
4. cột dựa trên hệ thống quản lý cơ sở dữ liệu NoSQL
Cột phổ biến dựa trên cơ sở dữ liệu
Khi sử dụng
5. tài liệu dựa trên hệ thống quản lý cơ sở dữ liệu NoSQL
Tài liệu phổ biến dựa trên cơ sở dữ liệu
Khi sử dụng
6. biểu đồ dựa trên hệ thống quản lý cơ sở dữ liệu NoSQL
Biểu đồ phổ biến dựa trên cơ sở dữ liệu
Khi sử dụng
7. NoSQL DBMSs so với quan hệ DBMSs
Khi nào thì sử dụng cơ sở dữ liệu NoSQL
Hệ thống quản lý cơ sở dữ liệu
Cơ sở dữ liệu là lí logic mô phỏng không gian cho tất cả các loại thông tin khác nhau (dữ liệu). Mỗi cơ sở dữ liệu, khác với những người ít hơn lược đồ, có một mô hình cung cấp cấu trúc cho các dữ liệu đang được xử lý. Hệ thống quản lý cơ sở dữ liệu là ứng dụng (hoặc thư viện) mà quản lý cơ sở dữ liệu của nhiều hình dạng, kích cỡ, và các loại.

Lưu ý: Để tìm hiểu thêm về hệ thống quản lý cơ sở dữ liệu, hãy kiểm tra bài viết của chúng tôi: Sự hiểu biết cơ sở dữ liệu.

Hệ thống quản lý cơ sở dữ liệu NoSQL
Trong thập kỷ vừa qua, hay như vậy, Hệ thống quản lý cơ sở dữ liệu quan hệ có là sự lựa chọn của nhiều nhà phát triển và quản trị hệ thống cho một loạt các ứng dụng, cho một loạt các lý do. Dù không phải là chính xác, linh hoạt, bản chất mạnh mẽ của RDBMS nhiều phép Set-up phức tạp cơ sở dữ liệu được tạo ra, truy vấn và sử dụng. Điều này là quá đủ cho rất nhiều các yêu cầu, kể từ khi nó đã không cho đến khi lâu rằng nhu cầu khác nhau bắt đầu tăng.

Thuật ngữ “NoSQL” được đưa ra hơn một thập kỷ trước, funnily đủ như là một cái tên nào được nêu ra-một cơ sở dữ liệu quan hệ. Tuy nhiên, cơ sở dữ liệu này có một ý tưởng khác nhau phía sau nó: loại bỏ việc sử dụng các tiêu chuẩn SQL. Trong những năm tiếp theo để đi, những người khác nhặt và tiếp tục phát triển suy nghĩ này, bằng cách giới thiệu các cơ sở dữ liệu không quan hệ khác như cơ sở dữ liệu NoSQL.

Theo thiết kế, NoSQL cơ sở dữ liệu và hệ thống quản lý là quan hệ ít hơn (hay lược đồ-ít hơn). Họ không phải là dựa trên một mô hình duy nhất (ví dụ: mô hình quan hệ của RDBMSs) và mỗi cơ sở dữ liệu, tùy thuộc vào mục tiêu-chức năng của họ, áp dụng một khác nhau.

Có gần như một số mô hình hoạt động khác nhau và các hệ thống hoạt động cho cơ sở dữ liệu NoSQL.:

Khóa / giá trị:
Ví dụ: Redis, MemcacheDB, vv

Cột:
Ví dụ: Cassandra, HBase, vv

Tài liệu:
Ví dụ: MongoDB, Couchbase, vv

Biểu đồ:
Ví dụ: OrientDB, Neo4J, vv

Để hiểu rõ hơn về vai trò và các công nghệ cơ bản của từng hệ thống quản lý cơ sở dữ liệu, hãy nhanh chóng đi qua các mô hình hoạt động 4.

Chìa khóa / giá trị dựa trên
Chúng tôi sẽ bắt đầu hành trình của chúng tôi mô hình NoSQL với khóa / giá trị cơ sở dữ liệu dựa trên quản lý đơn giản chỉ vì họ có thể được coi là nhất cơ bản và xương sống thực hiện NoSQL.

Các loại hình cơ sở dữ liệu công việc bằng cách kết hợp phím với các giá trị, tương tự như một từ điển. Có là không có cấu trúc, cũng không quan hệ. Sau khi kết nối tới hệ phục vụ cơ sở dữ liệu (ví dụ như Redis), một ứng dụng có thể nhà nước một chìa khóa (ví dụ như the_answer_to_life) và cung cấp một giá trị phù hợp (ví dụ: 42) mà sau đó có thể lấy giống như cách bằng cách cung cấp các phím.

Khóa / giá trị DBMSs thường được sử dụng để nhanh chóng lưu trữ các thông tin cơ bản, và đôi khi không-để-cơ bản những người sau khi thực hiện, ví dụ: một CPU và bộ nhớ tăng cường tính toán. Họ đang vô cùng performant, hiệu quả và thường dễ dàng mở rộng.

Lưu ý: Khi nói đến máy tính, một từ điển thông thường đề cập đến một loại đặc biệt của dữ liệu đối tượng. Họ tạo thành mảng trong bộ sưu tập với phím cá nhân phù hợp với giá trị.

Cột dựa
Cột dựa NoSQL hệ thống quản lý cơ sở dữ liệu làm việc bằng cách thúc đẩy tính chất đơn giản của chìa khóa / giá trị dựa trên những người.

Mặc dù phức tạp hiểu hình ảnh của mình trên internet, các cơ sở dữ liệu làm việc rất đơn giản bằng cách tạo ra các bộ sưu tập của một hoặc nhiều khóa / cặp phù hợp với một bản ghi có giá trị.

Không giống như truyền thống định nghĩa các lược đồ cơ sở dữ liệu quan hệ, dựa trên cột NoSQL giải pháp không yêu cầu một bảng cấu trúc trước để làm việc với dữ liệu. Mỗi bản ghi đi kèm với một hoặc nhiều cột có chứa các thông tin và mỗi cột của mỗi bản ghi có thể khác nhau.

Về cơ bản, dựa trên cột cơ sở dữ liệu NoSQL là mảng hai chiều theo đó mỗi khóa (tức là hàng / ghi) có một hoặc nhiều khóa / cặp giá trị gắn liền với nó và các hệ thống quản lý cho phép rất lớn và chưa có cấu trúc dữ liệu phải được lưu giữ và sử dụng (ví dụ: một bản ghi có tấn thông tin).

Các cơ sở dữ liệu thường được sử dụng khi đơn giản chìa khóa / cặp giá trị là không đủ, và lưu trữ một số lượng kỷ lục với số lượng rất lớn các thông tin rất lớn là một phải. DBMS triển khai thực hiện mô hình dựa trên cột, lược đồ-ít có thể quy mô rất tốt.

Tài liệu dựa trên
Tài liệu dựa trên NoSQL hệ thống quản lý cơ sở dữ liệu có thể được coi là những cơn sốt mới nhất mà quản lý để mất rất nhiều của người dân của cơn bão. DBMS này làm việc trong một thời trang tương tự dựa trên cột cái; Tuy nhiên, họ cho phép nhiều sâu làm tổ và các cấu trúc phức tạp để đạt được (ví dụ: một tài liệu, trong một tài liệu trong một tài liệu).

Tài liệu vượt qua các khó khăn của một hoặc hai mức độ quan trọng / làm tổ của cột cơ sở dữ liệu có giá trị. Về cơ bản, bất kỳ cấu trúc phức tạp và tùy ý có thể tạo một tài liệu có thể được lưu trữ bằng cách sử dụng các hệ thống quản lý.

Mặc dù bản chất mạnh mẽ của họ, và khả năng truy vấn hồ sơ của từng phím, Hệ thống quản lý tài liệu dựa trên có vấn đề riêng của họ và các downfalls so với người khác. Ví dụ, lấy một giá trị của một hồ sơ có nghĩa là nhận được rất nhiều toàn bộ của nó và cùng đi cho bản Cập Nhật, tất cả đều ảnh hưởng đến hiệu suất.

Dựa trên đồ thị
Cuối cùng, hương vị rất thú vị của hệ thống quản lý cơ sở dữ liệu NoSQL là biểu đồ dựa trên những người.

Mô hình DBMS biểu đồ dựa trên đại diện cho các dữ liệu một cách hoàn toàn khác nhau hơn so với các mô hình trước đó ba. Họ sử dụng cây giống như cấu trúc (tức là đồ thị) với các nút và cạnh kết nối lẫn nhau thông qua quan hệ.

Tương tự như toán học, hoạt động nhất định là đơn giản hơn nhiều để thực hiện bằng cách sử dụng các loại mô hình nhờ bản chất của họ liên kết và nhóm liên quan đến mẩu thông tin (ví dụ như kết nối người).

Các cơ sở dữ liệu thường được sử dụng bởi các ứng dụng, nhờ đó mà các ranh giới rõ ràng cho các kết nối là cần thiết để thiết lập. Ví dụ, khi bạn đăng ký một mạng xã hội của bất kỳ loại, kết nối bạn bè của bạn để bạn và bạn bè của mình bạn bè liên quan đến bạn dễ dàng hơn để làm việc bằng cách sử dụng hệ thống quản lý cơ sở dữ liệu dựa trên đồ thị.

Key / NoSQL dựa trên cơ sở dữ liệu hệ thống quản lý có giá trị
Chìa khóa / giá trị dữ liệu mua sắm là rất performant, dễ dàng để làm việc với và họ thường quy mô tốt.

Phổ biến khóa / giá trị dựa trên cơ sở dữ liệu
Một số phím phổ biến / giá trị dựa trên dữ liệu mua sắm:

Redis:
Trong bộ nhớ lưu trữ K/V với tùy chọn kiên trì.

Riak:
Cửa hàng K/V cao phân phối, sao chép.

Memcached / MemcacheDB:
Phân phối bộ nhớ dựa trên store K/V.

Khi sử dụng
Sử dụng phổ biến một số trường hợp cho khóa / giá trị dựa trên dữ liệu cửa hàng:

Bộ nhớ đệm:
Nhanh chóng lưu trữ dữ liệu – đôi khi thường xuyên – sử dụng trong tương lai.

Hàng đợi-ing:
Một số cửa hàng K/V (ví dụ như Redis) hỗ trợ danh sách, tập hợp, hàng đợi và nhiều hơn nữa.

Phân phối các thông tin / nhiệm vụ:
Họ có thể được sử dụng để thực hiện các Quán rượu/Sub.

Giữ thông tin trực tiếp:
Ứng dụng mà cần phải giữ một nhà nước mía sử dụng cửa hàng K/V một cách dễ dàng.

Cột dựa trên hệ thống quản lý cơ sở dữ liệu NoSQL
Cột dựa trên dữ liệu mua sắm đang cực kỳ mạnh mẽ và họ có thể được sử dụng đáng tin cậy để giữ các dữ liệu quan trọng của kích cỡ rất lớn. Dù không phải là “linh hoạt” về những gì tạo như dữ liệu, họ đánh giá cao chức năng và performant.

Cột phổ biến dựa trên cơ sở dữ liệu
Một số cột phổ biến dựa trên các dữ liệu mua sắm:

Cassandra:
Cột dựa lưu trữ dữ liệu dựa trên BigTable và DynamoDB.

HBase:
Lưu trữ dữ liệu cho Apache Hadoop dựa trên ý tưởng từ BigTable.

Khi sử dụng
Một số trường hợp sử dụng phổ biến cho cột dựa trên dữ liệu cửa hàng:

Giữ thông tin có cấu trúc, không bay hơi:
Nếu một bộ sưu tập lớn các thuộc tính và giá trị cần phải được lưu giữ trong thời gian dài của thời gian, dựa trên cột dữ liệu mua sắm đến rất tiện dụng.

Rộng:
Cột dựa trên dữ liệu cửa hàng có khả năng mở rộng của thiên nhiên. Họ có thể xử lý một số tiền khủng khiếp của thông tin.

Tài liệu dựa trên hệ thống quản lý cơ sở dữ liệu NoSQL
Tài liệu dựa trên dữ liệu mua sắm là tuyệt vời để giữ cho rất nhiều không liên quan các thông tin phức tạp là hay thay đổi về cấu trúc từ một khác.

Tài liệu phổ biến dựa trên cơ sở dữ liệu
Một số tài liệu phổ biến dựa trên các dữ liệu mua sắm:

Couchbase:
Lưu trữ dựa trên JSON, Memcached tương thích dữ liệu dựa trên tài liệu.

CouchDB:
Một lưu trữ dữ liệu dựa trên tài liệu phá vỡ mặt đất.

MongoDB:
Cơ sở dữ liệu rất phổ biến và đánh giá cao chức năng.

Khi sử dụng
Một số trường hợp sử dụng phổ biến cho các tài liệu dựa trên dữ liệu cửa hàng:

Lồng nhau thông tin:
Mua sắm tài liệu dựa trên dữ liệu cho phép bạn làm việc với cấu trúc dữ liệu lồng nhau sâu sắc, phức tạp.

JavaScript thân thiện:
Một trong các chức năng quan trọng nhất của tài liệu dựa trên dữ liệu mua sắm là cách họ giao tiếp với các ứng dụng: bằng cách sử dụng JS thân thiện JSON.

Biểu đồ dựa trên hệ thống quản lý cơ sở dữ liệu NoSQL
Biểu đồ dựa trên dữ liệu mua sắm cung cấp một tính năng rất độc đáo chưa từng có với bất kỳ DBMSs khác.

Biểu đồ phổ biến dựa trên cơ sở dữ liệu
Một số đồ thị phổ biến dựa trên các dữ liệu mua sắm:

OrientDB:
Một đồ thị rất nhanh và tài liệu dựa trên lưu trữ dữ liệu hybrid NoSQL viết bằng Java mà đi kèm với chế độ hoạt động khác nhau.

Neo4J:
Một đồ thị Java lược đồ miễn phí, cực kỳ phổ biến và mạnh mẽ dựa trên lưu trữ dữ liệu.

Khi sử dụng
Một số trường hợp sử dụng phổ biến cho các biểu đồ dựa trên dữ liệu cửa hàng:

Xử lý các thông tin quan hệ phức tạp:
Như đã giải thích trong phần giới thiệu, cơ sở dữ liệu đồ thị làm cho nó cực kỳ hiệu quả và dễ sử dụng để đối phó với các thông tin phức tạp nhưng quan hệ, chẳng hạn như các kết nối giữa hai thực thể và độ khác nhau của các thực thể khác gián tiếp liên quan đến họ.

Mô hình và xử lý phân loại:
Biểu đồ cơ sở dữ liệu excel trong bất cứ tình huống nào mà mối quan hệ có liên quan. Mô hình dữ liệu và phân loại thông tin khác nhau một cách quan hệ có thể được xử lý tốt bằng cách sử dụng các loại dữ liệu mua sắm.

NoSQL DBMSs so với quan hệ DBMSs
Để vẽ một bức tranh rõ ràng về cách NoSQL giải pháp khác nhau từ hệ thống quản lý cơ sở dữ liệu quan hệ, chúng ta hãy tạo một danh sách so sánh nhanh:

Khi nào thì sử dụng cơ sở dữ liệu NoSQL
Kích thước vấn đề:
Nếu sẽ làm việc với bộ dữ liệu rất lớn, mở rộng quy mô luôn là dễ dàng hơn để đạt được với rất nhiều DBMS NoSQL gia đình.

Tốc độ:
Cơ sở dữ liệu NoSQL thường nhanh hơn – và đôi khi rất speedier – khi nói đến viếts. đọcs cũng có thể rất nhanh tùy thuộc vào loại NoSQL cơ sở dữ liệu và dữ liệu được truy vấn.

Thiết kế lược đồ miễn phí:
Quan hệ DBMSs yêu cầu cấu trúc từ đầu. NoSQL giải pháp cung cấp một số lượng lớn của sự linh hoạt.

Tự động (hoặc dễ dàng) replications / rộng:
Cơ sở dữ liệu NoSQL đang phát triển nhanh chóng và họ đang được tích cực xây dựng vào ngày hôm qua – nhà cung cấp đang cố gắng để giải quyết vấn đề thường gặp và một trong số họ rõ ràng là nhân rộng và nhân rộng. Không giống như RDBMSs, NoSQL giải pháp dễ dàng có thể quy mô và làm việc with(in) cụm.

Nhiều lựa chọn:
Khi nói đến việc lựa chọn một cửa hàng dữ liệu NoSQL, có một loạt các mô hình, như chúng tôi đã thảo luận, rằng bạn có thể chọn để nhận được nhiều nhất của hệ thống quản lý cơ sở dữ liệu – tùy thuộc vào loại dữ liệu của bạn.