En lo personal trato la base de datos como SQL y sigo las reglas de PL/SQL de Oracle. que es usalo cuando no puedas usar SQL.

Dicho de otra manera, trata de hacer o que el app/desarrolladores usen SQL siguiendo las siguientes reglas.

1) No usar sub-queries.

2) Revisar los explain plans para identificar el work_mem adecuado para una consulta X.

3) NO usar funciones en los selects, esto es performance killer.

4) Usar Dexter, dexter es algo bien interesante que te ayuda a identificar consultas que requieren Indices.

Ignoro si esto te puede ayudar.

Algo adicional que hice en un sistema altamente transaccional. las tablas mas calientes sacarlas de forma normal 3 y ponerlas en forma normal 2, es mas datos pero es menos bloqueos.

Particiones, las tablas que son de muchas escrituras particionalas, 50 particiones permiten tener 50 threads no bloqueantes y que la particion sea con hash. ( Para las Olimpiadas de RIO 2016 eso me ayudo a diseñar un sistema que soportaba 4.2K TPS con 700 ms de tiempo de respuesta cuando estaba super ocupado.

On 4/07/2024 7:45 am, Fernando Monjes wrote:
Hola Comunidad , buenas tardes

Quisiera hacerles una consulta , he encontrado esta extensión Swarm64 DA de paga entiendo que acelera las consultas y el performance en general , pero al parecer esta descontinuada, alguien sabe de algo parecido a esta extensión, estoy en linea recta a implementar Postgres en un sistema altamente transaccional y siempre es bueno conocer e implementar extensiones que puedan mejorar el rendimiento del motor.

--
Atentamente,


Fernando Monjes B.
Consultor DBA
Ingeniero en Informática

Reply via email to