2023年4月24日月曜日

"allocate_tokens_for_local_replication_factor" と "replication_factor" の違いについて

 "allocate_tokens_for_local_replication_factor" と "replication_factor" の違いについて調べてみた


まず、"replication_factor" は、Cassandraでデータの冗長性を確保するために使用される概念であり、クラスタ内のノード数を指定します。つまり、1つのキースペース内で何個のレプリカを作成するかを決定するために使用されます。この値が大きくなると、書き込みの遅延が発生する可能性がありますが、読み込みは高速になります。replication_factorは、CREATE KEYSPACEコマンドを使用して指定されます。


一方、"allocate_tokens_for_local_replication_factor" は、Cassandraがノード間でデータを分散させる方法を決定するために使用されます。これは、各ノードに割り当てられたトークン範囲の数を決定するために使用されます。この設定を変更することで、Cassandraクラスタ内のノードの負荷分散と障害復旧能力を最適化できます。


つまり、replication_factorは、Cassandraキースペース内でレプリカを作成する数を決定するのに対し、allocate_tokens_for_local_replication_factorは、Cassandraノード間でデータを分散させる方法を決定するために使用されます。

EFS(Dockerfile)の記載について注意

  Dockerfileにefsのマウントパス宛に、ファイルコピーを行うと ECSのサービス作成時に、コンテナのデプロイ失敗に(container run time error)になるので 別経由で、EFSにファイルをコピーした方が良い!! <Dockerfile> ...