Tengo una tabla muy grande con 100 000 filas con una clave y una marca de tiempo.
Actualmente uso un lote de servidores de AWS que usan NodeJS y PG para consultar la marca de tiempo last_updated más antigua, realizar la función y luego actualizar la fila con NOW().
Mi problema es que estoy tratando de encontrar una manera de escalar con más procesos y optimizar mis pagos de fila. Comencé con cada proceso seleccionando 1000 a la vez y cada uno con un múltiplo de 1000 para OFFSET, haciendo la operación y luego actualizando
Empecé a leer sobre SELECT usando FOR UPDATE y SKIP LOCK pero parece que esto podría tener algunos impactos en el rendimiento. Tampoco puedo encontrar una manera clara de hacer SELECCIONAR/ACTUALIZAR en la misma consulta o sigo haciendo actualizaciones individuales en un momento similar a esta publicación, pero parece que esto puede no ser bueno para operaciones más grandes como esta.
implementando una ACTUALIZACIÓN en SELECT en Postgres
¿Alguien se ha acercado a este tipo de configuración? También he estado debatiendo si necesito crear mi propio middleware que administre un grupo de elementos de trabajo y luego los trabajadores usen esa tabla para seleccionar/eliminar.