2012-09-22 9 views
7

Ich habe Probleme, den Replikationsfaktor in Cassandra zu verstehen. In der Dokumentation heißt es: "Die Gesamtzahl der Replikate im Cluster wird oft als Replikationsfaktor bezeichnet". Auf der anderen Seite heißt es in der gleichen Dokumentation, dass "NetworkTopologyStrategy ermöglicht Ihnen, anzugeben, wie viele Replikate Sie in jedem Datencenter möchten". Also, wenn ich 2 Datencenter mit NetworkTopologyStrategy habe, bedeutet ein Replikationsfaktor von 2, dass ich 2 Replikate pro Rechenzentrum oder 2 Replikate insgesamt im Cluster habe?Cassandra-Replikationsfaktor bei mehreren Datenzentren

Vielen Dank.

Antwort

8

Wenn Sie die NetworkTopologyStrategy-Option verwenden, geben Sie Ihren Replikationsfaktor pro Datencenter-Basis an. Verwenden Sie dazu strategy_options:{data-center-name}={rep-factor-value} anstelle der globalen strategy_options:replication_factor={rep-factor-value}.

Hier ist ein konkretes Beispiel adaptiert von 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; 

In diesem Beispiel würde jede gegebene Spalte 4 Knoten insgesamt gelagert werden, mit 2 in jedem Zentrum Daten.

3

Replikationsfaktor ist im Grunde die Anzahl der Replikate (zusätzliche Kopien), die Sie haben möchten.

Eine Sache zu erinnern ist, es ist immer angegeben "Anzahl der Replikate sollte nicht mehr als die Anzahl der Knoten sein". Also ich habe 2 Knoten, die Sie nicht 3 als Replikationsfaktor haben sollen.

+2

Ihre Antwort ist mehrdeutig. Sie haben angegeben, dass der Replikationsfaktor die Anzahl der zusätzlichen Kopien ist. Dies würde jedoch bedeuten, dass der Replikationsfaktor bei zwei Knoten nicht höher als 1 sein sollte. Ist das korrekt? – Andrew

+0

@Antwort genau, was ich dachte, es ist mehrdeutig. – Sohail

+0

Die Aussage, dass der Replikationsfaktor die Anzahl der zusätzlichen Kopien ist, ist falsch. Tatsächlich ist dies die Gesamtzahl der Kopien jeder Zeile Ihrer Tabelle, die im Cluster vorhanden ist. –

Verwandte Themen