Re: consulta sobre sequencias globales de BDR

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: consulta sobre sequencias globales de BDR
Date: 2015-02-10 10:55:07
Message-ID: CAN3Qy4p-BYqJVn7sRWnPDshgYprsYRpiXSqGpYtSScgSssuiAw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Alvaro

El feb 9, 2015 10:35 AM, "Alvaro Herrera" <alvherre(at)2ndquadrant(dot)com>
escribió:

> Hellmuth Vargas escribió:
> > Hola Lista:
> >
> > Estoy realizado pruebas con BDR de PostgreSQL
> > anunciado recientemente, comparto una hilo de conversación que sostuve
> con
> > Jaime Casanova, entre otros, sobre el tema especifico del comportamiento
> > de secuencias globales. La inquietud surge porque trabajo en un call
> center
> > donde se realizan miles de transacciones por segundo de diferentes
> clientes
> > a un único cluster de base de datos PostgreSQL (con replicacion
> asincronica
> > obviamente), y por balanceo de carga, disponibilidad,
> > seguridad entre otros, seria extraordinario contar con la replicacion
> > multimaster.
>
> El insert con generate_series() es realmente representativo de lo que se
> hace en la base de datos real, o es sólo para simular "miles de
> transacciones"? Porque si la carga real no implica insertar miles de
> registros en una sola sentencia, sino uno o unos pocos registros en cada
> sentencia (repetida miles de veces), es posible que las secuencias
> globales funcionen perfectamente en tu caso. Además, en versiones
> tempranas de BDR las secuencias globales eran algo lentas (varios
> segundos en generar un nuevo bloque para el servidor al que se le
> agotó), pero esto se ha corregido hace poco.
>

Si tiene razón, emplee generate_series() con el fin de verificar el
comportamiento con miles de transacciones pero no seria el nivel real de
transacciones en mi caso, aunque el escenario que estamos planteando para
la empresa si tiene un alto nivel de transacciones concurrentes pues en la
base de datos almacenan todos los eventos de las llamadas, IVR, logs de
operación, calificación y otros datos relevantes...

>
> ¿Tienes presente que el carácter asincrónico significa que puedes
> insertar registros en el servidor A, y a continuación consultar en el
> servidor B varios segundos después y NO VER los registros que acabas de
> insertar? El balanceo de carga es bueno, pero la aplicación no puede
> cambiarse al servidor B cuando el A esté con carga muy alta, y esperar
> que la base de datos sea consistente con el estado que veía en A. Es
> necesario introducir un período de espera para que los cambios se
> propaguen.
>

Si, si lo tengo claro pero cuanto debería ser este tiempo de propagación
razonable... pues en le esquema que estoy probando están montados en la
misma maquina con diferente puerto, y no se penaliza por red y otros
factores...

>
> --
> Álvaro Herrera http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Arcel Labrada Batista 2015-02-10 13:32:08 Re: [MASSMAIL]ayuda sobre procedimientos almacenados y cursores
Previous Message raul andrez gutierrez alejo 2015-02-09 21:45:04 Re: Buen dia