Diferència entre revisions de la pàgina «WoSeBerry - Memoria técnica»

De Wiket
Salta a la navegació Salta a la cerca
Línia 4: Línia 4:
 
* Esquemas
 
* Esquemas
 
* Objetivos
 
* Objetivos
* Otro elemento
+
* Comparativas
 
* Pruebas
 
* Pruebas
 
* Divagar
 
* Divagar
Línia 66: Línia 66:
  
  
Una vez evaluados los pros y contras de cada tipo de clúster y las necesidades del proyecto que llevamos a cabo, hemos decidido implementar el clúster de tipo '''Master-Master'''. Este modelo es el que más ventajas nos ofrece, en cuanto a disponibilidad, rendimiento, flexibilidad, etc. Y como nuestro proyecto consta de 2 bases de datos, podemos mantener la latencia de la comunicación controlada con unos buenos tiempos de respuesta.
+
Una vez evaluados los pros y contras de cada tipo de clúster y las necesidades del proyecto que llevamos a cabo, hemos decidido implementar el clúster de tipo '''Master-Master'''. Este modelo es el que más ventajas nos ofrece, en cuanto a disponibilidad, rendimiento, flexibilidad, etc. Y como nuestro proyecto consta de 2 bases de datos, podemos mantener la latencia de la comunicación controlada con unos buenos tiempos de respuesta. Por ello consideramos que aunque pueda requerir algo más de configuración que otros tipos de cluster, merece la pena la inversión de ese tiempo, porque sin duda el modelo Master-Master es el más recomendable en este caso.

Revisió del 10:39, 10 maig 2018

Lista NO numerada:

  • Esquemas
  • Objetivos
  • Comparativas
  • Pruebas
  • Divagar


Ventajas y desventajas tipos de clúster de base de datos

Elegir el tipo de aquitectura sobre la cual implementaremos nuestras bases de datos no es una decisión trivial, ya que de ello también dependerá el buen funcionamiento de un proyecto y además, hay que tener en cuenta que cambiar esto una vez en producción es complicado e indudablemente ocasionaría paros en el servicio. Debe ser una decisión tomada en base a un análisis de las ventajas y desventajas de cada modelo, teniendo en cuenta múltiples factores y valorando cada una de las posibilidades, ya que una mala elección desde el inicio podría provocar futuros problemas como inoperatividad del servicio.

Los dos principales tipos de clúster existentes y que hemos evaluado para el proyecto son Master-Slave y Master-Master.


Arquitectura Master-Slave
Ventajas

- Facilidad para hacer backups ya que una de las bases de datos es de solo lectura.
- Las aplicaciones analíticas pueden leer del esclavo sin afectar al rendimiento del maestro.
- Los esclavos se pueden desconectar y volver a sincronizar con el maestro sin tiempo de inactividad.

Desventajas

- En el caso de un fallo, un esclavo debe ser promovido/transformado a maestro para tomar su lugar. Sin conmutación por error automática o con implementación compleja.
- Tiempo de inactividad y posiblemente pérdida de datos cuando falla un master.
- Todas las escrituras tienen que hacerse directamente a la base de datos master.
- Cada esclavo adicional agrega algo de carga al maestro, ya que el registro binario debe leer y copiar los datos a cada esclavo.
- La aplicación podría tener que reiniciarse en caso de fallo del maestro.


Arquitectura Master-Master
Ventajas

- Si un maestro falla, otros maestros continúan actualizando la base de datos.
- Los Masters se pueden ubicar en varios sitios físicos, es decir, distribuidos en la red.
- Las aplicaciones pueden leer y escribir en ambas bases de datos.
- Distribuye la carga de escritura en ambos nodos maestros, por lo tanto obtenemos un mayor rendimiento de escritura.
- Conmutación por fallo simple, automática y rápida.

Desventajas

- Los sistemas de replicación son más complejos de configurar y aumentan la latencia de la comunicación.
- Problemas como la resolución de conflictos pueden volverse intratables a medida que aumenta el número de nodos implicados y podrían hacer este sistema menos consistente.


Una vez evaluados los pros y contras de cada tipo de clúster y las necesidades del proyecto que llevamos a cabo, hemos decidido implementar el clúster de tipo Master-Master. Este modelo es el que más ventajas nos ofrece, en cuanto a disponibilidad, rendimiento, flexibilidad, etc. Y como nuestro proyecto consta de 2 bases de datos, podemos mantener la latencia de la comunicación controlada con unos buenos tiempos de respuesta. Por ello consideramos que aunque pueda requerir algo más de configuración que otros tipos de cluster, merece la pena la inversión de ese tiempo, porque sin duda el modelo Master-Master es el más recomendable en este caso.