Tôi hiện đang đánh giá giải pháp khả thi cho vấn đề follwing:sao chép Selective với CouchDB
Một tập hợp các mục dữ liệu phải được synchonized giữa nhiều khách hàng, trong đó mỗi khách hàng chỉ có thể xem (hoặc thậm chí biết về sự tồn tại của) một tập con của dữ liệu. Mỗi khách hàng "sở hữu" một số yếu tố và quyết định những người khác có thể đọc hoặc sửa đổi các yếu tố đó chỉ có thể được thực hiện bởi chủ sở hữu. Để làm phức tạp thêm tình huống này, mỗi phần tử (và mỗi bản sửa đổi phần tử) phải có một mã định danh duy nhất tương đương với tất cả các máy khách.
Khi thứ hai nghe như một nhiệm vụ hoàn hảo cho CouchDB (và mô hình dữ liệu dựa trên tài liệu phù hợp với nhu cầu của tôi), tôi không chắc liệu hệ thống con xác thực/ủy quyền của CouchDB có thể xử lý các yêu cầu này hay không: có thể để khôi phục quyền truy cập ghi bằng các hàm xác nhận, dường như không có cách nào để cho phép truy cập đọc. Tất cả các giải pháp tôi đã tìm thấy cho vấn đề này đề xuất để định tuyến tất cả các yêu cầu CouchDB thông qua một proxy (hoặc một lớp ứng dụng) xử lý ủy quyền. Vì vậy, câu hỏi đặt ra là: Có thể triển khai lớp ủy quyền lọc các yêu cầu tới cơ sở dữ liệu để truy cập chỉ được cấp cho các tài liệu mà ứng dụng khách yêu cầu đã đọc quyền truy cập và vẫn sử dụng cơ chế sao chép của CouchDB không? Không. Đơn giản, đây sẽ là một số loại "sao chép chọn lọc", nơi chỉ có một số tài liệu, và không phải toàn bộ cơ sở dữ liệu được nhân rộng.
Tôi cũng sẽ biết ơn các chỉ dẫn về một số thông tin chi tiết về cách hoạt động sao chép. Các CouchDB wiki và thậm chí là "Hướng dẫn xác định" Sách không quá cụ thể về điều đó.
Cảm ơn bạn (và andyuk, quá). Có vẻ như couchDB thực sự đang trở thành những gì tôi đang tìm kiếm. – FRotthowe
bạn có ví dụ làm việc không? Tuy nhiên, sao chép được lọc không an toàn. Người dùng vẫn có thể truy cập tất cả dữ liệu qua _all_docs và nhận được – Kinesias
8 năm sau? Tôi sợ không :) – kolosy