システムには、サーバーごとに一意であり続けたい特定のテーブルが 1 つあります。
つまり、 http://server1.example.com/some_stuff.htmlとhttp://server2.example.com/some_stuff.htmlは、その特定のサーバーに固有のデータを格納して表示する必要があります。サーバーの 1 つが停止すると、そのテーブルとそのデータも一緒に移動します。
システムには、サーバーごとに一意であり続けたい特定のテーブルが 1 つあります。
つまり、 http://server1.example.com/some_stuff.htmlとhttp://server2.example.com/some_stuff.htmlは、その特定のサーバーに固有のデータを格納して表示する必要があります。サーバーの 1 つが停止すると、そのテーブルとそのデータも一緒に移動します。
CQL はテーブル レベルのレプリケーション ファクターをサポートしていないと思います (利用可能なcreate table optionsを参照してください)。1 つの代替方法は、レプリケーション ファクター = 1 でキースペースを作成することです。
CREATE KEYSPACE <ksname>
WITH replication = {'class':'<strategy>' [,'<option>':<val>]};
Example:
To create a keyspace with SimpleStrategy and "replication_factor" option
with a value of "1" you would use this statement:
CREATE KEYSPACE <ksname>
WITH replication = {'class':'SimpleStrategy', 'replication_factor':1};
その場合、そのキースペースで作成されたすべてのテーブルにはレプリケーションがありません。
ノードごとにテーブルが必要な場合、Cassandra はそれを直接サポートしていないと思います。1 つの回避策は、各クラスターに 1 つのノードしかないノードごとに追加の Cassandra クラスターを開始することです。
なぜそれをしたいのかわかりませんが、これについての私の見解は次のとおりです。
Cassandra クラスター内のノード間での実際のデータの分散は、行キーによって決定されます。
レプリケーション係数を 1 に設定するだけでは、1 つの列ファミリー/テーブルのすべてのデータが 1 つのノードに配置されるわけではありません。行キーに従って、データは引き続き分割/分散されます。
データが格納される正確な場所は、ここに記載されているように、行キーとパーティショナーによって決定されます。これは DDBS 固有の部分であり、これを強制する簡単な方法はありません。
1 つのサーバーのすべてのデータを 1 つのノードの 1 つのテーブルに物理的に配置する唯一の方法は、次のとおりです。