Câu trả lời:
Một cửa hàng trọng điểm có giá trị cung cấp các mô hình dữ liệu đơn giản nhất có thể, và là chính xác những gì tên cho thấy: đó là một hệ thống lưu trữ mà các cửa hàng giá trị được lập chỉ mục bởi một chìa khóa. Bạn bị giới hạn truy vấn theo khóa và các giá trị không rõ ràng , cửa hàng không biết gì cả về chúng. Điều này cho phép các thao tác đọc và ghi rất nhanh (truy cập đĩa đơn giản) và tôi thấy mô hình này là một loại bộ nhớ đệm không bay hơi (tức là rất phù hợp nếu bạn cần truy cập nhanh bằng phím để dữ liệu tồn tại lâu dài).
Một cơ sở dữ liệu tài liệu theo định hướng mở rộng mô hình trước đó và các giá trị được lưu trữ trong một cấu trúc định dạng (một tài liệu, vì thế mà tên) mà cơ sở dữ liệu có thể hiểu được. Ví dụ, một tài liệu có thể là một bài đăng trên blog và các nhận xét và thẻ được lưu trữ theo cách không chuẩn hóa. Vì dữ liệu minh bạch , cửa hàng có thể thực hiện nhiều công việc hơn (như lập chỉ mục các trường của tài liệu) và bạn không bị giới hạn truy vấn theo khóa. Như tôi đã gợi ý, những cơ sở dữ liệu như vậy cho phép tìm nạp dữ liệu của toàn bộ trang với một truy vấn duy nhất và rất phù hợp cho các ứng dụng hướng nội dung (đó là lý do tại sao các trang web lớn như Facebook hoặc Amazon lại thích chúng).
Các loại cơ sở dữ liệu NoSQL bao gồm các cửa hàng hướng cột , cơ sở dữ liệu đồ thị và thậm chí cả cơ sở dữ liệu đối tượng . Nhưng điều này vượt ra ngoài câu hỏi.
Chà, tôi đã tự mình điều tra NoSQL trong tháng qua. Tôi nghĩ rằng nó thường có thể được phát biểu một cái gì đó như
Cơ sở dữ liệu hướng tài liệu, hay kho lưu trữ tài liệu, dùng để lưu trữ, truy xuất và quản lý thông tin hướng tài liệu, là dữ liệu bán cấu trúc. Kho khóa-giá trị là sự kế thừa của cơ sở dữ liệu Hướng tài liệu. Sự khác biệt nằm ở cách dữ liệu được xử lý; trong kho khóa-giá trị, dữ liệu được coi là không rõ ràng đối với cơ sở dữ liệu, trong khi hệ thống hướng tài liệu dựa vào cấu trúc bên trong tài liệu để trích xuất siêu dữ liệu mà công cụ cơ sở dữ liệu sử dụng để tối ưu hóa hơn nữa.
Nếu chúng ta đề cập đến sự khác biệt giữa MOngoDb và Cassandra. MongoDB hoạt động giống như một cơ sở dữ liệu quan hệ. Mô hình dữ liệu của nó bao gồm một cơ sở dữ liệu ở cấp cao nhất, sau đó là các tập hợp giống như các bảng trong MySQL (ví dụ) và sau đó là các tài liệu được chứa trong tập hợp, như các hàng trong MySQL. Mỗi tài liệu có một trường và một giá trị tương tự như các cột và giá trị trong MySQL. Các trường có thể là khóa / giá trị đơn giản, ví dụ: {'name': 'David Mytton'} nhưng chúng cũng có thể chứa các tài liệu khác, ví dụ: {'name': {'first': David, 'last': 'Mytton'}}. Trong tài liệu Cassandra được gọi là "cột" thực sự chỉ là một khóa và giá trị duy nhất. ví dụ: {'key': 'name', 'value': 'David Mytton'}. Ngoài ra còn có một trường dấu thời gian để sao chép nội bộ và nhất quán. Giá trị có thể là một giá trị đơn lẻ nhưng cũng có thể chứa một “cột” khác. Sau đó, các cột này tồn tại trong các họ cột sắp xếp dữ liệu dựa trên một giá trị cụ thể trong các cột, được tham chiếu bằng một khóa.
Tuy nhiên, ở cấp cao nhất có một không gian khóa, tương tự như cơ sở dữ liệu MongoDB.