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. ¿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. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda