Hola Alvaro
El feb 9, 2015 10:35 AM, "Alvaro Herrera" <alvhe...@2ndquadrant.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 >