mongoDB - Mongo en 3 Data centers

 
Vista:

Mongo en 3 Data centers

Publicado por Fran (14 intervenciones) el 07/07/2017 18:18:01
Buenos dias a todos!!

Tengo una pregunta muy sencilla.

Tengo que modelar una base de datos mongo que implica 3 Datacenters diferentes.

Tengo que tener en cada Datacenter una copia entera de la base de datos y la escritura puede caer de forma dinamica en cualquiera de los 3 data center.

En definitiva, tengo que poder escribir en cualquier datacenter y replicar eso a los demas teniendo asi, 3 copias iguales de la misma BD.

Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Mongo en 3 Data centers

Publicado por Fran (14 intervenciones) el 10/07/2017 14:13:29
Como seria el modelado de los replicaset y los sharding?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 40
Ha aumentado 1 puesto en mongoDB (en relación al último mes)
Gráfica de mongoDB

Mongo en 3 Data centers

Publicado por Andrés (14 intervenciones) el 11/07/2017 10:41:30
Screenshot-from-2017-07-11-03-47-51

Para el replica set
Un primario
Un secundario
Un arbitro

Tendrías 3 shards (uno por datacenter)
Un factor de replicación de 2 (el arbitro no mantiene un data set)
mongod shard servers 6
Procesos mongos 3
Servidores de configuración 3

Definir las colecciones para shard además de la sharded key
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 38
Ha disminuido 1 puesto en mongoDB (en relación al último mes)
Gráfica de mongoDB

Mongo en 3 Data centers

Publicado por xve (44 intervenciones) el 11/07/2017 11:33:09
Excelente Andres!!!

Pero una pregunta... en los shard, el arbitro no seria necesario si solo hay un primario y un secundario, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mongo en 3 Data centers

Publicado por Fran (14 intervenciones) el 11/07/2017 18:01:13
Andres!! me has dado una mano enorme muchisimas gracias!! pero tengo una pregunta mas.

Necesito que los datos esten replicados entre cada shard (osea todos los datacenter tienen todo) para hacer lectura.

¿en ese caso deberia agregar un secundario en cada DC por cada Shard, no es asi?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 40
Ha aumentado 1 puesto en mongoDB (en relación al último mes)
Gráfica de mongoDB

Mongo en 3 Data centers

Publicado por Andrés (14 intervenciones) el 11/07/2017 19:14:17
mmm no creo, la idea del sharding es escalar horizontalmente mediante "comodity servers" y manejar mayor volumen, así que la información que hay en cada shard no coincide en gral, contrario al concepto de replica set, cuya idea es "High availability" mediante la duplicidad, me parece que lo que necesitas es solo una replica en tres datacenters, de entrada los shards no coincidirían en tener los mismos datos.

S0 S1 S2
{_id:1} {_id:200} {_id:31}
{_id:1} {_id:200} {_id:31}

De hecho no es posible, pensando un poco más a fondo, hay que definir una sharded key, con esa shardedkey, los documentos se dirijen a determinado shard, en el peor de los casos, se van a un sólo shard (una muy mala cardinalidad de la sharded key), así que no es posible mantener la misma copia de los datos en todos los shards.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mongo en 3 Data centers

Publicado por Fran (14 intervenciones) el 11/07/2017 20:58:24
Investigue la posibilidad de un Mongo Multi Master, pero aun no tengo tanta informacion al respecto.

El problema central radica en que, la escritura puede caer en cualquiera de los 3 datacenter y luego me piden que toda la info este en todos lados.

Lo unico que pense fue lo siguiente.

Datacenter 1 - Datacenter 2 - Datacenter 3

Primario A - Primario B - Primario C

Secundario B - Secundario A - Secundario A

Secundario C - Secundario C - Secndario B

Entonces en cada DC tendria una copia completa, la pregunta es... seria performante las querys de consulta cruzando asi los replica set?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 40
Ha aumentado 1 puesto en mongoDB (en relación al último mes)
Gráfica de mongoDB

Mongo en 3 Data centers

Publicado por Andrés (14 intervenciones) el 11/07/2017 21:08:37
podrían ser impactadas por latencia de red, el que el query tenga buen performance también depende de la definición/uso de los indices, desempeñoi de los equipos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mongo en 3 Data centers

Publicado por Fran (14 intervenciones) el 11/07/2017 21:17:57
Es todo en la nube... en fin Andres, infinitas gracias fue de inmensa ayuda!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar