Sự khác biệt giữa Cassandra và CouchDB là gì?


76

Tôi đang xem xét cả hai dự án và tôi thực sự không thể thấy sự khác biệt

từ Trang web Cassandra:

Cassandra là một kho lưu trữ khóa-giá trị có cấu trúc nhất quán, được phân phối, có khả năng mở rộng cao ... Cassandra cuối cùng cũng nhất quán. Giống như BigTable, Cassandra cung cấp mô hình dữ liệu dựa trên ColumnFamily phong phú hơn các hệ thống khóa / giá trị điển hình.

từ Trang web CouchDB:

Apache CouchDB là một cơ sở dữ liệu hướng tài liệu phân tán, có khả năng chịu lỗi và không có lược đồ có thể truy cập thông qua API RESTful HTTP / JSON.

Điều đó nói rằng, tôi thấy sự khác biệt cụ thể giữa mỗi dự án như: phương pháp truy cập, ngôn ngữ viết, v.v. nhưng để VÍ DỤ, khi bạn nói về SOLR hoặc Sphinx, bạn biết cả hai đều là các trình chỉ mục với sự khác biệt lớn nhưng cuối cùng là các trình chỉ mục.

Ở đây tôi có thể nói rằng Cassandra và CouchDB là những cơ sở dữ liệu phi quan hệ mà trong một số trường hợp, cái này có thể thay thế cái kia không?

Câu trả lời:


79

CouchDB là một kho tài liệu. Bạn đặt các tài liệu (các đối tượng JSON) vào đó và xác định các chế độ xem (chỉ mục) trên chúng. Các đối tượng có thể phức tạp tùy ý với cấu trúc sâu tiềm ẩn. Hơn nữa, chúng không bị ràng buộc phải tuân theo một số lược đồ nhất quán.

Cassandra là một kho lưu trữ khóa-giá trị trên bảng rách rưới. Nó chỉ lưu trữ các hàng, mỗi hàng có một tập hợp các cột được đặt tên được nhóm thành các họ có giá trị. Nghe có vẻ khá gần với BigTable; BigTable không yêu cầu mỗi hàng phải có cấu trúc giống nhau (không giống như cơ sở dữ liệu SQL). Các giá trị có thể có một số cấu trúc, nhưng loại cửa hàng này không biết gì về điều đó - chúng chỉ là chuỗi / chuỗi byte.

Đúng vậy, chúng đều là cơ sở dữ liệu phi quan hệ và có lẽ có một lượng chồng chéo về khả năng ứng dụng của chúng, nhưng chúng có các mô hình tổ chức dữ liệu khác nhau rõ ràng. Mỗi mô hình có thể bị buộc phải mô phỏng mô hình khác, nhưng mỗi mô hình sẽ phù hợp nhất với một loạt vấn đề khác nhau.


34

CouchDB có một tính năng có trong rất ít công nghệ cơ sở dữ liệu nguồn mở: sao chép ngoại tuyến. CouchDB được thiết kế để các ứng dụng có thể được chạy ở rìa mạng. Các ứng dụng này khả dụng ngay cả khi kết nối internet không thành công.

Sao chép ngoại tuyến cũng có thể được tận dụng để xây dựng các cụm lớn, nhưng CouchDB được thiết kế để mạnh mẽ và đơn giản cho dù nó đang chạy trên một máy chủ, một trung tâm dữ liệu hay thậm chí là điện thoại thông minh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.