
AWS publicó esta semana que Amazon Redshift resuelve ahora automáticamente buena parte de los conflictos de escritura concurrente sobre tablas Apache Iceberg que, en realidad, no llegan a solaparse. Hasta ahora, esas escrituras fallaban igualmente y obligaban a reintentar la operación completa, aunque los dos escritores hubieran tocado filas distintas de la tabla.
El motivo técnico está en cómo funciona Iceberg. El formato usa control de concurrencia optimista: cada escritor prepara sus cambios contra la versión actual de la tabla y solo confirma si ningún otro proceso ha avanzado esa versión mientras tanto. Es una garantía de consistencia correcta, pero hasta ahora bastante conservadora: con que dos escrituras coincidieran en el tiempo, una de las dos fallaba, aunque trabajaran sobre particiones o ficheros completamente distintos. Redshift ahora escala la comprobación desde el nivel de operación hasta la partición y, si hace falta, hasta el fichero individual, para confirmar que dos escrituras concurrentes de verdad no se tocan antes de dejar pasar ambas.
El efecto práctico se nota en cargas con varios escritores activos sobre la misma tabla: ingestión paralela desde distintas fuentes, varios pipelines de transformación corriendo a la vez, o procesos de backfill conviviendo con la carga incremental habitual. En esos escenarios, el patrón de reintentar manualmente una escritura que ha fallado por un falso conflicto era una fuente constante de fricción operativa y de lógica de reintento añadida en el propio pipeline.
Conviene no confundir esto con una solución mágica a la concurrencia: los conflictos reales —dos escrituras que sí modifican las mismas filas— se siguen rechazando como exige el modelo de consistencia de Iceberg. Lo que cambia es que Redshift deja de tratar como conflicto algo que no lo es, y ese es precisamente el tipo de falso positivo que más reintentos innecesarios generaba en la práctica.
Para un equipo que ya opera un lakehouse sobre Iceberg con múltiples motores de lectura y escritura, la mejora es relevante aunque no cambie una sola línea de código propio: el ahorro llega directamente en forma de menos reintentos y mayor rendimiento efectivo de escritura, sin tocar el pipeline.
El cambio también importa por lo que dice del rumbo del formato Iceberg en general. A medida que más motores —Spark, Flink, Trino, el propio Redshift— escriben sobre las mismas tablas, el cuello de botella deja de ser el almacenamiento o el cómputo y pasa a ser la coordinación entre escritores. Que cada motor mejore por su cuenta la forma de comprobar si dos escrituras realmente chocan es, en la práctica, la vía por la que un formato de tabla abierto gana la escala que antes solo ofrecían los almacenes propietarios con un único motor de escritura.
Más en Dataprix: clasificación de plataformas de datos para empresas de Dataprix
Fuente: AWS Big Data Blog
Contenido elaborado con asistencia de inteligencia artificial — Equipo Editorial Dataprix. Verifica la información antes de tomar decisiones.