Amazon SageMaker UpdateRecord elimina las reescrituras de registros completos para cambios parciales de características
Amazon SageMaker UpdateRecord introduce escrituras a nivel de característica, eliminando un requisito histórico de leer y reescribir un registro completo ante cada cambio parcial. Una sola llamada a la API ahora puede actualizar hasta 100 características, conservando todas las que se omitan en la solicitud.
Este cambio aborda una debilidad específica de la infraestructura de aprendizaje automático en tiempo real. Los registros de características suelen combinar valores producidos por canalizaciones independientes, cada una con su propio calendario de ejecución. Un procesador de clickstream podría actualizar la actividad cada pocos segundos, mientras que una tarea nocturna actualiza los segmentos de clientes.
Hasta ahora, estas canalizaciones a menudo dependían de un patrón de lectura-modificación-escritura. Cada productor recuperaba el registro actual, modificaba los campos asignados y volvía a enviar el registro completo. Ese patrón añadía lecturas, transfería datos sin cambios y creaba oportunidades para que escritores concurrentes se sobrescribieran entre sí.
AWS reemplaza ese enfoque con un mecanismo atómico de actualización parcial. El servicio combina los valores seleccionados en un registro existente mientras aplica permisos y un ordenamiento opcional por hora de evento. La verdadera noticia no es otro endpoint de SageMaker. Es que AWS traslada la lógica de coordinación desde las aplicaciones de los clientes hacia el almacén de características administrado.
Amazon SageMaker UpdateRecord cambia la ruta de escritura
UpdateRecord convierte un cambio parcial de características en una única escritura administrada, en lugar de una lectura, combinación y reescritura completa orquestadas por el cliente.
AWS anunció las escrituras a nivel de característica el 8 de septiembre de 2026. La capacidad está disponible en las regiones de AWS donde opera SageMaker Feature Store.
Un cliente identifica un registro existente y envía únicamente los valores de las características que deben cambiar. SageMaker Feature Store valida la solicitud, combina esos valores de forma atómica y deja sin cambios todas las características omitidas.
Este comportamiento importa porque un registro de características puede ser amplio. Un perfil de cliente puede contener historial de cuenta, actividad reciente, señales de riesgo, recomendaciones y metadatos operativos. Actualizar una puntuación de riesgo no debería requerir que una aplicación transfiera y reescriba todos esos valores no relacionados.
La API acepta al menos una característica y admite hasta 100 características por llamada. Devuelve una respuesta HTTP 200 vacía tras una actualización correcta, según la API UpdateRecord.
UpdateRecord no es una operación upsert. El registro de destino debe existir ya en un almacén online, y un registro inexistente o eliminado de forma lógica produce un error ResourceNotFound. Las aplicaciones deben seguir utilizando PutRecord al crear registros.
El identificador del registro también permanece inmutable. Los clientes pueden actualizar características almacenadas, incluida la característica de hora de evento bajo condiciones definidas, pero no pueden cambiar la clave primaria mediante este endpoint.
Los nombres de las características ya deben existir en el esquema del grupo de características. UpdateRecord modifica valores dentro de ese esquema; no ofrece una vía alternativa para definir nuevas características.
Estos límites mantienen el enfoque de la API. Gestiona cambios parciales en registros online existentes, mientras que la creación de registros y la gestión del esquema siguen siendo operaciones independientes.
Los requisitos de almacenamiento merecen la misma atención. Los almacenes online Standard necesitan el formato más reciente Standard_V2 antes de poder aceptar actualizaciones parciales. Los grupos de características en memoria admiten UpdateRecord sin adoptar otro formato de almacenamiento en memoria.
AWS describe Standard como un nivel online respaldado por DynamoDB e In-Memory como una opción respaldada por ElastiCache que utiliza Redis OSS. La guía de almacenes online actualizada de la empresa enumera Standard, Standard_V2 e InMemory como opciones diferenciadas.
Esta distinción hace que el lanzamiento sea más que una comodidad del SDK. AWS tuvo que añadir una representación de almacenamiento capaz de aplicar actualizaciones parciales y preservar el resto del registro.
Para los clientes de Standard, por tanto, el beneficio arquitectónico llega acompañado de una decisión de formato. Los equipos que crean grupos de características pueden elegir Standard_V2, mientras que las implementaciones Standard existentes deben evaluar la ruta de migración documentada y sus consecuencias operativas.
El patrón de lectura-modificación-escritura era el verdadero adversario
En este lanzamiento, AWS compite contra un patrón de aplicación, no contra otro proveedor de almacenes de características.
Consideremos tres canalizaciones que escriben en un registro de cliente. Una tarea de clickstream es responsable de page_views, un servicio de transacciones es responsable de purchase_total y una canalización de modelos es responsable de risk_score.
En un diseño de lectura-modificación-escritura, cada canalización comienza recuperando el registro completo. Modifica el valor asignado y luego envía un reemplazo completo de vuelta al almacén.
Esta secuencia parece segura cuando se demuestra con un único escritor. Se vuelve frágil cuando varios escritores operan simultáneamente.
Supongamos que la canalización de clickstream lee la versión A. La canalización de puntuación lee la misma versión unos instantes después. La canalización de clickstream escribe la versión B con un recuento de actividad más reciente.
La canalización de puntuación puede entonces enviar su copia modificada de la versión A. A menos que la aplicación detecte la colisión, su escritura del registro completo puede restaurar el recuento de actividad anterior al tiempo que actualiza la puntuación de riesgo.
Los desarrolladores pueden abordar ese problema con orquestación, bloqueos, lógica condicional, colas o reglas de propiedad. Cada solución añade código y estado operativo fuera del almacén de características.
UpdateRecord reduce la superficie de escritura. La canalización de puntuación envía únicamente risk_score, mientras que la canalización de clickstream envía solo sus características de actividad. Ninguna de las dos necesita reproducir los valores gestionados por la otra.
AWS afirma que la combinación ocurre de forma atómica. Esto significa que una solicitud parcial no debería exponer una combinación escrita a medias de los valores que incluye.
La atomicidad no hace que todos los diseños de canalización sean correctos. Sin embargo, elimina la fuente más evidente de actualizaciones perdidas causada por reemplazar campos no relacionados.
El cambio también elimina la solicitud preliminar GetRecord cuando una aplicación solo necesita establecer valores conocidos. Menos lecturas implican menos viajes de ida y vuelta por red y menos cargos de capacidad de lectura en cargas de trabajo facturadas mediante el nivel Standard.
AWS no ha publicado un benchmark independiente que muestre una reducción universal de la latencia. El ahorro real dependerá de la amplitud del registro, la frecuencia de las solicitudes, la ubicación de red, el comportamiento de reintento y el diseño de la aplicación.
La dirección sigue siendo clara incluso sin ese benchmark. Una solicitud realiza menos trabajo del lado de la aplicación que una lectura seguida de una escritura completa.
El tráfico de red también puede disminuir cuando los registros contienen muchas características, pero cada evento cambia solo una o dos. El cliente envía el identificador del registro y los valores modificados en vez de serializar todos los campos almacenados.
La facturación de escritura requiere más matices. AWS afirma que la capacidad de escritura del nivel Standard sigue basándose en el tamaño del elemento después de la actualización, no únicamente en la carga útil de características enviada. El ahorro directo más claro procede de eliminar la lectura previa.
El modelo de precios de SageMaker contabiliza por separado las lecturas, escrituras y el almacenamiento del almacén de características. Los equipos deberían modelar sus propios patrones de acceso antes de asignar un porcentaje de ahorro.
Por tanto, el lanzamiento redistribuye responsabilidades en dos niveles. SageMaker ahora gestiona la combinación atómica de características, mientras que los clientes siguen siendo responsables de medir las cargas de trabajo y planificar la capacidad.
Las canalizaciones independientes obtienen un modelo de propiedad más claro
Las escrituras a nivel de característica permiten a los productores controlar campos seleccionados sin exigir que cada productor comprenda el registro completo.
Los sistemas de características de streaming rara vez actualizan todos los valores con la misma frecuencia. La actividad de sesión puede cambiar continuamente, los totales financieros pueden seguir las transacciones y los atributos demográficos podrían actualizarse con mucha menor frecuencia.
Un único contrato de registro completo obliga a estas canalizaciones a una coordinación innecesaria. Cada productor debe conocer el estado más reciente de cada campo o confiar en otro componente para combinar sus cambios.
UpdateRecord crea un límite más simple. Un productor puede enviar los valores que controla y omitir todo lo demás. El almacén de características conserva los valores omitidos.
Este enfoque encaja con la hidratación de características de streaming, donde varias fuentes de eventos construyen gradualmente una representación online actual. Un evento de clic puede actualizar las estadísticas de sesión sin modificar un segmento asignado por una canalización por lotes.
Los backfills ofrecen otro caso práctico. Después de añadir una característica definida en el esquema, un equipo puede completar ese valor en los registros existentes sin reenviar todas las características almacenadas previamente.
Las correcciones de datos siguen la misma lógica. AWS describe un escenario con 50.000 registros de clientes clasificados incorrectamente. Una tarea de corrección puede cambiar customer_segment sin poner en riesgo campos no relacionados en esos registros.
Estos ejemplos revelan el efecto arquitectónico más amplio. Las actualizaciones parciales reducen la cantidad de contexto compartido que cada productor necesita antes de poder escribir de forma segura.
También admiten permisos más restringidos. AWS añadió las claves de condición IAM sagemaker:IsUpdateRecord y sagemaker:UpdatableFeatures para controlar las escrituras parciales.
Un administrador puede permitir que un servicio invoque UpdateRecord únicamente para características seleccionadas. Un servicio de puntuación podría actualizar score y last_activity sin poder cambiar salary u otro campo sensible.
UpdateRecord sigue utilizando la acción IAM sagemaker:PutRecord en la evaluación de políticas. Según AWS, las políticas existentes que deniegan PutRecord también bloquean las actualizaciones parciales.
Este comportamiento compatible con versiones anteriores reduce el riesgo de abrir accidentalmente una nueva ruta de escritura. Los administradores deben conceder explícitamente un acceso adecuado antes de que una carga de trabajo pueda utilizar la operación.
La autorización a nivel de característica también refuerza el modelo de propiedad del productor. El límite ya no depende únicamente de la disciplina de la aplicación. IAM puede rechazar una canalización que intente modificar los campos de otro productor.
Sin embargo, la propiedad de las características requiere una gobernanza continua. Los equipos deben mantener las políticas a medida que evolucionan los esquemas, los servicios cambian de responsabilidades o las características recién añadidas contienen información sensible.
Una política amplia con comodines puede eliminar gran parte del beneficio. Las nuevas claves de condición proporcionan un mecanismo de control, pero AWS no diseña automáticamente reglas de privilegio mínimo para cada carga de trabajo.
Las escrituras parciales también complementan el trabajo reciente de AWS en operaciones de ingesta más amplias. BatchWriteRecord gestiona hasta 25 registros entre grupos de características en una solicitud, mientras que UpdateRecord modifica valores seleccionados dentro de un registro existente.
Estas API resuelven cuellos de botella distintos. La escritura por lotes reduce la sobrecarga de solicitudes entre registros. La escritura a nivel de característica reduce el trabajo innecesario dentro de un registro.
Ninguna operación sustituye a la otra. Una gran tarea de corrección podría seguir emitiendo muchas llamadas UpdateRecord porque este lanzamiento documenta un límite de cantidad de características, no un lote de actualización parcial para múltiples registros.
Esta distinción importa para los equipos que planifican backfills de gran volumen. Obtienen cambios más seguros a nivel de campo, pero aún necesitan límites de concurrencia, gestión de reintentos, seguimiento del progreso y recuperación ante fallos.
EventTime evita escrituras obsoletas, con condiciones
UpdateRecord reduce las sobrescrituras accidentales, pero el ordenamiento seguro sigue dependiendo de cómo los productores utilicen EventTime.
Cada grupo de características tiene una característica de hora de evento, que representa cuándo ocurrió un registro o evento. UpdateRecord puede incluir un valor más reciente para esa característica junto con los campos que se modifican.
Cuando el EventTime enviado es igual o posterior al valor almacenado, SageMaker aplica la actualización. Cuando es anterior, el servicio rechaza toda la solicitud con una ConflictException y una respuesta HTTP 409.
Esta comprobación evita que un evento retrasado sustituya valores asociados a una hora de registro más reciente. Ofrece a los pipelines una protección gestionada frente a entregas fuera de orden.
El mecanismo resulta especialmente útil cuando varios mensajes representan estados sucesivos de un mismo flujo lógico de eventos. Un mensaje tardío no puede hacer retroceder silenciosamente el registro a una hora de evento anterior.
Sin embargo, EventTime es metadato a nivel de registro. Es posible que productores independientes no compartan un reloj con sentido común, especialmente si actualizan características no relacionadas desde fuentes distintas.
AWS aborda ese caso permitiendo a los clientes omitir EventTime. El servicio aplica entonces los cambios de características mientras conserva la hora de evento existente del registro.
Omitirlo evita una competencia artificial entre pipelines no relacionados. Un proceso nocturno de segmentación no necesita adelantar el reloj del registro solo para actualizar un campo del que es responsable.
Esa flexibilidad introduce una contrapartida importante. Una actualización sin EventTime no puede usar la comparación temporal del registro para demostrar que sus valores son más recientes.
Cada equipo debe decidir si un productor participa en la ordenación compartida del registro o funciona de manera independiente. Esa decisión depende del significado de la característica, no solo de la comodidad de la API.
Una puntuación de riesgo derivada de un flujo de transacciones con fecha podría necesitar una ordenación estricta. Una preferencia de idioma corregida podría requerir una marca de tiempo de origen independiente, almacenada como otra característica.
Los reintentos de la aplicación también requieren cuidado. Una respuesta 409 indica un EventTime obsoleto, no un fallo temporal del servicio. Reintentar ciegamente la misma solicitud no hará que su marca de tiempo sea más reciente.
Los clientes deben clasificar los conflictos por separado de la limitación de capacidad o los errores transitorios. Pueden descartar actualizaciones obsoletas, recalcularlas o enviarlas a un flujo de trabajo de excepciones.
El manejo del tiempo de vida añade otra condición. Si una solicitud proporciona TtlDuration, también debe incluir EventTime. De lo contrario, SageMaker devuelve un error de validación.
La expiración de TTL se calcula a partir de EventTime más la duración especificada. Exigir ambos valores evita que el servicio construya un punto de expiración ambiguo.
Estas reglas hacen que UpdateRecord sea más seguro que un endpoint de parcheo sin restricciones. No eliminan la necesidad de contar con un modelo temporal documentado entre los productores.
Los equipos deben definir qué reloj sigue cada característica, si las actualizaciones pueden llegar tarde y qué servicio resuelve los conflictos. Sin esas decisiones, la API puede rechazar registros obsoletos, pero no puede determinar la verdad de negocio.
Standard_V2 plantea la principal cuestión de adopción
La funcionalidad está disponible de inmediato para los grupos In-Memory, mientras que los clientes de Standard deben considerar una transición de formato de almacenamiento.
AWS afirma que las escrituras a nivel de característica funcionan en ambos niveles de la tienda online, pero la ruta de activación difiere. Los grupos de características In-Memory existentes pueden utilizar la operación sin seleccionar otro formato de almacenamiento.
Los grupos de características Standard requieren Standard_V2. La documentación actualizada indica que los clientes pueden crear un grupo con ese tipo de almacenamiento o migrar un grupo Standard existente in situ.
La migración documentada utiliza UpdateFeatureGroup para cambiar la configuración de almacenamiento online. AWS afirma que la operación preserva el grupo de características y evita volver a ingerir sus datos.
Eso parece más sencillo que reconstruir una feature store de producción, pero no es un cambio reversible. AWS advierte que la migración de Standard a Standard_V2 es unidireccional.
La documentación también señala que UpdateRecord puede tardar varios minutos en estar disponible tras completarse la migración. Por lo tanto, las aplicaciones necesitan un plan de despliegue que reconozca la transición de capacidad.
Los equipos de producción deben probar sus versiones de SDK, plantillas de infraestructura, políticas IAM, monitorización y comportamiento de respaldo. Una migración de almacenamiento no debe tratarse únicamente como una modificación del código fuente.
Los entornos mixtos pueden añadir complejidad. Los nuevos grupos de características podrían usar Standard_V2, mientras que los grupos más antiguos permanecen en Standard, dejando UpdateRecord disponible solo para una parte del entorno.
Las bibliotecas cliente no deben asumir que todos los grupos de características de SageMaker aceptan actualizaciones parciales. La referencia de la API restringe la operación al almacenamiento online Standard_V2 e InMemory.
Los equipos también deben distinguir entre el comportamiento online y offline. UpdateRecord siempre requiere un registro en la tienda online, incluso cuando un grupo de características también dispone de una tienda offline.
Para las configuraciones con una tienda offline asociada, AWS indica que los cambios parciales pasan por el proceso de replicación como instantáneas completas. Ese diseño mantiene los datos históricos de entrenamiento alineados con el registro online fusionado.
Los grupos de características In-Memory requieren una salvedad aparte. La documentación de AWS indica que este nivel actualmente admite solo grupos online y no proporciona la replicación correspondiente hacia una tienda offline.
Por tanto, el lanzamiento no debe interpretarse como una sincronización online-to-offline universal para todos los tipos de almacenamiento. La replicación se aplica cuando la configuración del grupo de características incluye una tienda offline.
Las instantáneas completas en el historial offline también afectan a la interpretación posterior. Varias actualizaciones parciales pueden generar versiones sucesivas de registros completos, aunque cada cliente haya enviado solo características seleccionadas.
Los consumidores de datos de entrenamiento deben seguir gestionando las horas de evento, las filas históricas y la corrección puntual. UpdateRecord cambia la ruta de ingestión, no el significado analítico del historial offline.
La ausencia de benchmarks de producción públicos e independientes sigue siendo otra incertidumbre. AWS describe una menor latencia, menos transferencia de datos y menos lecturas, pero aún no se han cuantificado resultados específicos por carga de trabajo.
Los cargos de escritura del nivel Standard también dependen del tamaño del elemento tras la actualización. Una solicitud pequeña contra un registro amplio no significa automáticamente que la facturación refleje solo la solicitud pequeña.
Esto convierte la medición en el siguiente paso práctico. Los equipos deben comparar el número de solicitudes, la latencia de escritura p95, el uso de capacidad de lectura, las tasas de conflicto y las tasas de errores de la aplicación antes de migrar.
También deben observar si las actualizaciones parciales simplifican la respuesta a incidentes. Menos componentes de coordinación pueden reducir la carga operativa, pero las nuevas reglas de IAM y de manejo de conflictos introducen sus propios modos de fallo.
Qué deben vigilar los desarrolladores a continuación
El valor de Amazon SageMaker UpdateRecord estará determinado por los datos de adopción, la fiabilidad de las migraciones y el soporte para patrones de escritura más complejos.
La primera señal es el comportamiento de la migración a Standard_V2 en producción. Los equipos deben vigilar la duración de la migración, los fallos de despliegue, la planificación de reversión y el retraso antes de que UpdateRecord pueda utilizarse.
Una ruta de migración estable reforzaría la tesis de AWS de que los clientes Standard existentes pueden adoptar escrituras parciales sin reconstruir grupos de características. Las sorpresas operativas ralentizarían la adopción pese a una API más limpia.
La segunda señal es la mejora medida de la carga de trabajo. La evidencia útil incluiría menor volumen de GetRecord, menor consumo de capacidad de lectura, menor latencia de actualización de extremo a extremo y menos incidentes de actualizaciones perdidas.
Estas mediciones deben provenir de cargas de trabajo comparables. Una prueba debe conservar el ancho del registro, la frecuencia de actualización, la ubicación de red y la concurrencia antes de atribuir una diferencia a UpdateRecord.
Las tasas de conflicto merecen su propio panel. Las respuestas HTTP 409 frecuentes pueden indicar eventos retrasados, relojes inconsistentes o un productor que utiliza EventTime cuando una ordenación a nivel de campo sería más apropiada.
La tercera señal es si AWS amplía el modelo de escritura parcial. UpdateRecord gestiona un registro existente y hasta 100 características, mientras que BatchWriteRecord aborda escrituras completas en varios registros.
Los clientes que ejecutan grandes correcciones podrían pedir una operación por lotes a nivel de característica. Su ausencia no debilita la funcionalidad actual, pero define dónde sigue siendo necesaria la orquestación del lado del cliente.
Los desarrolladores también deben vigilar el soporte para SDK, infraestructura como código y observabilidad. Una capacidad del servicio se vuelve más fácil de operar cuando las herramientas de aprovisionamiento la exponen de forma coherente y la monitorización muestra clases de fallo diferenciadas.
Para los equipos que evalúan ahora el lanzamiento, la prueba más segura es acotada. Elijan un grupo de características con actualizaciones frecuentes y aisladas, y varios productores independientes.
Documenten la propiedad de los campos antes de cambiar el código. Añadan condiciones IAM que coincidan con esos límites y definan después si cada productor debe enviar EventTime.
Creen o migren un grupo Standard_V2 no crítico, o utilicen un grupo In-Memory existente. Midan la ruta anterior de lectura-modificación-escritura y la nueva ruta de escritura parcial bajo una carga equivalente.
Realicen seguimiento de algo más que la latencia media. Comparen la latencia p95 y p99, las solicitudes de lectura, los fallos de escritura, los conflictos por eventos obsoletos, el tamaño de la carga útil y el esfuerzo de recuperación operativa.
Mantengan un respaldo controlado durante el despliegue. UpdateRecord no puede crear un registro inexistente, por lo que las aplicaciones aún necesitan una ruta deliberada para la ingestión inicial mediante PutRecord.
Los equipos de ingeniería también deben mantener consultables las decisiones de arquitectura, la propiedad de los campos y las políticas de hora de evento. Una base de conocimientos técnicos mantenida puede evitar que servicios posteriores incumplan esos contratos.
Amazon SageMaker UpdateRecord elimina una fuente real de trabajo duplicado en los pipelines de características online. Sustituye la coordinación de registros completos por escrituras atómicas parciales y controles de autorización más acotados.
La pregunta restante es operativa, no conceptual. ¿Seguirán siendo predecibles las migraciones a Standard_V2 y confirmarán las métricas de producción que menos lecturas producen ahorros significativos?
Los equipos que gestionan registros amplios con cambios aislados frecuentes ahora tienen un experimento concreto que ejecutar. Comparen ambas rutas, examinen los conflictos y decidan si la fusión del lado de la aplicación sigue justificando su lugar.



