Distribución de la información en los nodos.
El detalle acerca de cómo el
mecanismo de hash distribuye los datos en un clúster de Cassandra.
Particiones consistentes de
datos. Una partición se basa en la clave principal de la tabla. Por ejemplo, si
usted tiene los siguientes datos:
jim
|
age: 36
|
car: camaro
|
gender: M
|
carol
|
age: 37
|
car: bmw
|
gender: F
|
johnny
|
age: 12
|
gender: M
|
|
suzy
|
age: 10
|
gender: F
|
|
Cassandra le asigna un valor hash para cada clave primaria
Primary key
|
Murmur3 hash value
|
jim
|
-2245462676723223822
|
carol
|
7723358927203680754
|
johnny
|
-6723372854036780875
|
suzy
|
1168604627387940318
|
Cada nodo en el clúster es
responsable de una serie de datos basado en el valor de hash:
Node
|
Murmur3 start range
|
Murmur3 end range
|
A
|
-9223372036854775808
|
-4611686018427387903
|
B
|
-4611686018427387904
|
-1
|
C
|
0
|
4611686018427387903
|
D
|
4611686018427387904
|
9223372036854775807
|
Cassandra coloca los datos en
cada nodo de acuerdo con el valor de la clave primaria y el rango del nodo que es
responsable.
Por ejemplo, en un clúster de
cuatro nodos, los datos de este ejemplo se distribuyen de la siguiente manera:
Node
|
Start range
|
End range
|
Primary key
|
Hash value
|
A
|
-9223372036854775808
|
-4611686018427387903
|
johnny
|
-6723372854036780875
|
B
|
-4611686018427387904
|
-1
|
jim
|
-2245462676723223822
|
C
|
0
|
4611686018427387903
|
suzy
|
1168604627387940318
|
D
|
4611686018427387904
|
9223372036854775807
|
carol
|
7723358927203680754
|
No hay comentarios:
Publicar un comentario