2012-09-22 20 views
7

Tôi đang gặp khó khăn trong việc hiểu nhân tố sao chép trong Cassandra. Trong tài liệu, nó nói rằng: "Tổng số bản sao trên cụm thường được gọi là nhân tố nhân bản". Mặt khác, trong cùng một tài liệu, nó nói rằng "NetworkTopologyStrategy cho phép bạn chỉ định số lượng bản sao bạn muốn trong mỗi trung tâm dữ liệu". Vì vậy, nếu tôi có 2 trung tâm dữ liệu với NetworkTopologyStrategy, một yếu tố nhân rộng của 2 có nghĩa là tôi sẽ có 2 bản sao cho mỗi trung tâm dữ liệu hoặc 2 bản sao tổng thể trong cụm sao?Nhân tố sao chép Cassandra khi có nhiều trung tâm dữ liệu

Cảm ơn bạn.

Trả lời

8

Khi sử dụng NetworkTopologyChiến lược, bạn chỉ định hệ số nhân rộng trên cơ sở từng trung tâm dữ liệu bằng cách sử dụng strategy_options:{data-center-name}={rep-factor-value} thay vì toàn cầu strategy_options:replication_factor={rep-factor-value}.

Dưới đây là một ví dụ cụ thể chuyển thể từ http://www.datastax.com/docs/1.0/references/cql/CREATE_KEYSPACE

CREATE KEYSPACE Excalibur WITH strategy_class = 'NetworkTopologyStrategy' 
    AND strategy_options:DC1 = 2 AND strategy_options:DC2 = 2; 

Trong ví dụ đó, bất kỳ cột nhất định sẽ được lưu trữ trên 4 nút tổng, với 2 trong mỗi trung tâm dữ liệu.

3

Yếu tố nhân bản về cơ bản là số lượng bản sao (bản sao bổ sung) mà bạn muốn có.

Một điều cần nhớ là luôn luôn được tuyên bố "Số lượng bản sao không được nhiều hơn số lượng nút". Vì vậy, tôi bạn có 2 nút bạn không được cho là có 3 nhân tố.

+2

câu trả lời của bạn không rõ ràng. Bạn đã tuyên bố rằng nhân tố nhân bản là số lượng bản sao bổ sung, nhưng điều này có nghĩa là nếu bạn có 2 nút, nhân tố sao chép không được cao hơn 1. Điều này có đúng không? – Andrew

+0

@Andrew chính xác những gì tôi đã suy nghĩ, mơ hồ của nó. – Sohail

+0

Câu lệnh nhân rộng là số lượng bản sao bổ sung là sai. Trên thực tế, đó là tổng số bản sao của mỗi hàng trong bảng của bạn tồn tại trong cụm. –

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