2010-10-07 20 views
9

Tôi hiện đang delving vào CouchDB, và tôi bối rối bởi sự phân bố của Map-Reduce tính toán trong quan điểm. Tôi thấy rất nhiều tài nguyên đề cập rằng Map-Reduce vốn đã được phân phối, bởi vì bạn có thể xử lý một nửa dữ liệu của mình trên máy chủ A, nửa còn lại trên máy chủ B và sau đó giảm cả hai kết quả. Một ví dụ sẽ được trượt 16 của báo cáo này:CouchDB có thực sự phân chia lượt xem giữa các máy chủ không?

http://www.slideshare.net/gabriele.lana/couchdb-vs-mongodb-2982288

Điều này có vẻ khá hợp lý, nhưng:

  • CouchDB dường như không cung cấp một API trong việc tiêu diệt tính toán đến một số máy chủ. Sự phân phối duy nhất nó xuất hiện để cung cấp là nhân rộng của toàn bộ tập dữ liệu đến các máy chủ khác (mà sau đó, tôi giả định, tính toán dữ liệu chế độ xem của riêng họ).

  • CouchDB sử dụng B-Tree để lưu trữ dữ liệu chế độ xem dựa trên các khóa được tạo trong bước Bản đồ của thuật toán chế độ xem, ngăn cản phân vùng thích hợp các tài liệu dựa trên máy chủ nào cần bật.

Vì vậy, CouchDB có phân phối tính toán Map-Reduce không? Hoặc là thuộc tính Map-Reduce được sử dụng chỉ để lưu các giá trị trong các nút B-Tree?

Trả lời

9

Bạn đang tìm kiếm BigCouch, nó cho phép cụm CouchDB và sử dụng MapReduce được phân phối.

3

CouchDB KHÔNG phân phối lượt xem trên các nút, vì couchdb không phải là ứng dụng được phân phối. Bạn chỉ có thể tái tạo liên tục từ một thể hiện này sang thể hiện khác, nhưng mỗi cá thể vẫn hoạt động một mình.

Các vấn đề liên quan