Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[NoSQL] Consulta sobre Consistencia
Autor Mensaje
gonnza Sin conexión
User Verde

*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17.261
Agradecimientos dados: 780
Agradecimientos: 785 en 328 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #1
[NoSQL] Consulta sobre Consistencia Ejercicios Implementación de Bases de datos NoSQL
Vamos a inaugurar los tags de las electivas que agregué (?)


EN la parte de consistencia no termino de entender, de los parámetros N, R y W, cuál es el sentido de N.
Todo esto aplica a bases de datos distribuidas (vemos particularmente el caso de Mongo, el cual usa replicación Master/Slave)

- R se define como la cantidad de lecturas que tengo que hacer para considerar una lectura como exitosa. Ej si tengo 6 nodos, defino que leo 5 y ya puedo considerar una lectura como exitosa, mas alla de que el otro nodo pueda tener un valor desactualizado.
- W se define como la cantidad de escrituras que tengo que hacer para considerar una escritura exitosa. Si tengo 6 nodos, puedo decir "escribo en 3 y ya lo considero exitoso, que después se replique asíncronamente a los otros nodos/db".

Variar estos parámetros va de la mano con que tan fuerte es la consistencia y la chance de que tenga de tener lecturas inconsistentes o errores por escrituras.


Ahora bien, como juega N con esto ? es la parte que no termino de entender
Según la PPT de NoSQL,

Cita:N es cantidad de réplicas requeridas para considerar una operación exitosa en un cluster.

Lo cual parece algo redundante con lo anterior. Sin embargo mas adelante, dice


Cita:O En el mundo de los sistemas de bases de datos, cada pieza de datos se replica a una cantidad de nodos (N) en un cluster.

N es un parámetro variable, o es el numero de nodos ? NO me termina de quedar claro.
Por otro lado, para meter mas barro, mas adelante dice:

Cita:Ejemplo: Consideremos un cluster con 5 nodos y un valor N de 3 (cantidad de réplicas
mínimas requeridas para considerar la operación exitosa). Los quórums pueden definirse para los momentos de escritura (W) o lectura ®.

Entonces, N es la cantidad de nodos ? o de réplicas set ?

Por otro tercer lado, si yo tengo un Réplica Set con una base primaria + 2 secundarias, y hago un shard de esto.. tengo un nodo ? o tres ? Y si le agrego otro réplica set con la misma estructura, tengo 2 nodos ? o seis? Ahi medio que me marea la nomenclatura. Entiendo que nodo = replica set pero me gustaría asegurarme

No me termina de cerrar como se junta todo esto, lei este link pero pareciera indicar que N no se "setea" a mano sino que surge de R + W (que si los seteas a mano).

Si alguien puede echarme un poco de luz sería genial.

Gracias!

[Imagen: v34BEFt.gif]
25-05-2015 13:55
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
alexandermonday Sin conexión
Campeon del cubo Rubik

****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 132
Agradecimientos dados: 144
Agradecimientos: 130 en 30 posts
Registro en: Apr 2009
Mensaje: #2
RE: [NoSQL] Consulta sobre Consistencia
(25-05-2015 13:55)gonnza escribió:  EN la parte de consistencia no termino de entender, de los parámetros N, R y W, cuál es el sentido de N.
Todo esto aplica a bases de datos distribuidas (vemos particularmente el caso de Mongo, el cual usa replicación Master/Slave)

- R se define como la cantidad de lecturas que tengo que hacer para considerar una lectura como exitosa. Ej si tengo 6 nodos, defino que leo 5 y ya puedo considerar una lectura como exitosa, mas alla de que el otro nodo pueda tener un valor desactualizado.
- W se define como la cantidad de escrituras que tengo que hacer para considerar una escritura exitosa. Si tengo 6 nodos, puedo decir "escribo en 3 y ya lo considero exitoso, que después se replique asíncronamente a los otros nodos/db".

Variar estos parámetros va de la mano con que tan fuerte es la consistencia y la chance de que tenga de tener lecturas inconsistentes o errores por escrituras.


Ahora bien, como juega N con esto ? es la parte que no termino de entender
Según la PPT de NoSQL,

Cita:N es cantidad de réplicas requeridas para considerar una operación exitosa en un cluster.

Lo cual parece algo redundante con lo anterior. Sin embargo mas adelante, dice


Cita:O En el mundo de los sistemas de bases de datos, cada pieza de datos se replica a una cantidad de nodos (N) en un cluster.

N es un parámetro variable, o es el numero de nodos ? NO me termina de quedar claro.
Por otro lado, para meter mas barro, mas adelante dice:

Cita:Ejemplo: Consideremos un cluster con 5 nodos y un valor N de 3 (cantidad de réplicas
mínimas requeridas para considerar la operación exitosa). Los quórums pueden definirse para los momentos de escritura (W) o lectura ®.

Entonces, N es la cantidad de nodos ? o de réplicas set ?

Los nodos (por así llamarlo 'los servidores') son los servicios levantados del motor.
Las replicas (N) son las copias que se hará de una misma pieza de datos.
Por ejemplo, se puede tener 5 nodos, y una replica de 3 ( N=3 ) . Esto significa que la misma pieza de datos estará replicada en solo 3 nodos de los 5 disponibles.
En clase aclararon(para examen) que no hay que confundir cantidad de nodos con cantidad de replicas.
Por lo expuesto, se cumple N <= #nodos , N=cant de replicas
Si bien generalmente se configurará la cantidad de réplicas con la cantidad de nodos. Una ventaja que veo (es una interpretación mía) es que tenes toda la info en un unico nodo.
La ventaja de N < #nodos , es que en sistemas intensivos la escritura y la lectura de un dato no intervienen todos los nodos disponibles y aumentas la throughput con solo escalar horizontalmente.
Y ahora que lo pienso, quiza con N < #nodos , se puede interpretar como un sharding. Habria que consultarlo.


(25-05-2015 13:55)gonnza escribió:  Por otro tercer lado, si yo tengo un Réplica Set con una base primaria + 2 secundarias, y hago un shard de esto.. tengo un nodo ? o tres ? Y si le agrego otro réplica set con la misma estructura, tengo 2 nodos ? o seis? Ahi medio que me marea la nomenclatura. Entiendo que nodo = replica set pero me gustaría asegurarme

No me termina de cerrar como se junta todo esto, lei este link pero pareciera indicar que N no se "setea" a mano sino que surge de R + W (que si los seteas a mano).

Si alguien puede echarme un poco de luz sería genial.

Gracias!
25-06-2015 13:51
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] alexandermonday recibio 3 Gracias por este post
gonnza (25-06-2015), Anirus (04-11-2015), lucascla (04-06-2017)
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.