{"id":36898,"date":"2026-06-10T16:26:27","date_gmt":"2026-06-10T19:26:27","guid":{"rendered":"https:\/\/building.nubank.com\/?p=36898"},"modified":"2026-06-12T13:41:53","modified_gmt":"2026-06-12T16:41:53","slug":"feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features","status":"publish","type":"post","link":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/","title":{"rendered":"Feature stores para ML en tiempo real: por qu\u00e9 y cu\u00e1ndo centralizar la l\u00f3gica de features"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Escrito por: <a href=\"https:\/\/www.linkedin.com\/in\/felipeqbalmeida\/?locale=pt\">Felipe Almeida<\/a>, con contribuciones de <a href=\"https:\/\/www.linkedin.com\/in\/lzfelix\/\">Luiz Felix<\/a><br><br><em>Esta es la primera parte de una serie de tres partes sobre feature stores para ML en tiempo real en Nubank. En la parte 2, exploraremos las lecciones que aprendimos al usar feature stores en producci\u00f3n. En la parte 3, recorreremos arquitecturas de extremo a extremo usadas en escenarios del mundo real.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Introducci\u00f3n a las feature stores<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Una de las pocas constantes en el desarrollo de software es que los sistemas tienden a acumular entrop\u00eda y volverse m\u00e1s complejos con el tiempo. Sin embargo, es posible frenar ese deterioro extrayendo funcionalidades comunes a bibliotecas y plataformas. Esto simplifica los sistemas y mantiene la complejidad en niveles manejables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A medida que una organizaci\u00f3n orientada por datos crece y madura, el c\u00f3digo de ML <em>tambi\u00e9n<\/em> tiende a volverse cada vez m\u00e1s complejo. Por ejemplo, cuando los modelos empiezan a usarse en varios equipos, es com\u00fan ver la l\u00f3gica de features duplicada en varios lugares. Esto hace mucho m\u00e1s dif\u00edcil gestionar y mantener esos modelos e impide la reutilizaci\u00f3n de c\u00f3digo en toda la organizaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u201cTodos los problemas en ciencias de la computaci\u00f3n pueden resolverse [agregando] otro nivel de indirecci\u00f3n\u201d \u2014 David Wheeler<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una estrategia com\u00fan para abordar este problema es centralizar toda la l\u00f3gica de features en una biblioteca, de modo que los equipos puedan reutilizar las features de otros en lugar de tener que reescribirlas y duplicarlas cada vez que entrenan un nuevo modelo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando los modelos se usan para inferencia en tiempo real, hay <em>todav\u00eda<\/em> <em>otra<\/em> capa de c\u00f3digo involucrada, a saber, el c\u00f3digo usado para recuperar features en tiempo de inferencia. Ese c\u00f3digo de \u201ctiempo de inferencia\u201d suele estar en microservicios del entorno de producci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Las feature stores<\/strong> son plataformas que centralizan la l\u00f3gica de features para todos los modelos de una organizaci\u00f3n. En escenarios de inferencia en tiempo real, la feature store tambi\u00e9n provee endpoints centralizados para la recuperaci\u00f3n de features.<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><em>Una feature store es una plataforma que centraliza la gesti\u00f3n de features (en tiempo de entrenamiento y en tiempo de inferencia).<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Veamos dos ejemplos de c\u00f3mo se ve el c\u00f3digo de ML con y sin una feature store, tanto en tiempo de entrenamiento como en tiempo de inferencia.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tiempo de entrenamiento<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En tiempo de entrenamiento, usar una feature store significa que cada equipo importar\u00e1 las definiciones de features desde una biblioteca est\u00e1ndar, en lugar de definir las suyas espec\u00edficas. En la Figura 1 a continuaci\u00f3n mostramos ejemplos de c\u00f3mo se ve el c\u00f3digo de entrenamiento con y sin una feature store:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"582\" data-attachment-id=\"36910\" data-permalink=\"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/image-67\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-22.png?fit=1752%2C996&amp;ssl=1\" data-orig-size=\"1752,996\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-22.png?fit=1024%2C582&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-22.png?resize=1024%2C582&#038;ssl=1\" alt=\"\" class=\"wp-image-36910\" style=\"aspect-ratio:1.7594674633750034;width:1049px;height:auto\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-22.png?resize=1024%2C582&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-22.png?resize=300%2C171&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-22.png?resize=768%2C437&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-22.png?resize=1536%2C873&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-22.png?resize=1200%2C682&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-22.png?w=1752&amp;ssl=1 1752w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><em><strong>Figura 1 \u2014 From feature_store import:<\/strong> en tiempo de entrenamiento, los equipos de ciencia de datos suelen partir de un dataset base que contiene IDs de entidades y timestamps, y luego iterativamente \u201caplican\u201d features sobre \u00e9l. Con una feature store, esa \u201cl\u00f3gica de features\u201d se extrae a una biblioteca compartida y reutilizable.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tiempo de inferencia<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En tiempo de inferencia, las features deben ser recuperadas por alg\u00fan tipo de orquestador. En arquitecturas basadas en microservicios, ese orquestador ser\u00e1 un servicio (llamado \u201cServicio upstream\u201d en la Figura 2 a continuaci\u00f3n) que armar\u00e1 el payload, lo enviar\u00e1 al modelo de ML en tiempo real y manejar\u00e1 las predicciones del modelo:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"581\" data-attachment-id=\"36917\" data-permalink=\"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/image-69\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-24.png?fit=1752%2C994&amp;ssl=1\" data-orig-size=\"1752,994\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-24.png?fit=1024%2C581&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-24.png?resize=1024%2C581&#038;ssl=1\" alt=\"\" class=\"wp-image-36917\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-24.png?resize=1024%2C581&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-24.png?resize=300%2C170&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-24.png?resize=768%2C436&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-24.png?resize=1536%2C871&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-24.png?resize=1200%2C681&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-24.png?w=1752&amp;ssl=1 1752w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><strong><em>Figura 2:<\/em><\/strong><em> una feature store abstrae toda la complejidad involucrada en recuperar, calcular y transformar features usadas en tiempo real.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Entrega de features por \u201cllamada directa\u201d vs. basada en streaming<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para proporcionar una feature a un servicio upstream, la feature store necesita <em>primero<\/em> recuperar esa informaci\u00f3n de alguna manera. Las dos estrategias m\u00e1s comunes son:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>(1) Llamada directa:<\/strong> en este modelo, la feature store hace llamadas HTTP directamente a los microservicios que poseen los datos requeridos cada vez que se solicita una feature.<\/li>\n\n\n\n<li><strong>(2) Streaming:<\/strong> aqu\u00ed, los microservicios publican eventos en una capa de streaming, como Kafka, a medida que ocurren los eventos. La feature store entonces consume esos eventos y recupera las features de la capa de streaming cuando es necesario. En algunos casos, estas features tambi\u00e9n se almacenan en bases de datos locales para un acceso m\u00e1s r\u00e1pido.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Estas dos estrategias se ilustran a continuaci\u00f3n:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"582\" data-attachment-id=\"36937\" data-permalink=\"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/image-70\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-27.png?fit=1692%2C962&amp;ssl=1\" data-orig-size=\"1692,962\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-27.png?fit=1024%2C582&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-27.png?resize=1024%2C582&#038;ssl=1\" alt=\"\" class=\"wp-image-36937\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-27.png?resize=1024%2C582&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-27.png?resize=300%2C171&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-27.png?resize=768%2C437&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-27.png?resize=1536%2C873&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-27.png?resize=1200%2C682&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-27.png?w=1692&amp;ssl=1 1692w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><strong><em>Figura 3:<\/em><\/strong><em> las features pueden recuperarse directamente desde servicios de origen o mediante plataformas de streaming como Kafka. Las features basadas en streaming suelen llamarse <\/em><strong><em>near-real-time<\/em><\/strong><em> porque pueden tener peque\u00f1os retrasos de actualizaci\u00f3n, normalmente del orden de milisegundos o segundos.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una sola feature store puede soportar <em>ambas<\/em> estrategias simult\u00e1neamente. Es muy com\u00fan que <em>algunas<\/em> features se recuperen directamente desde fuentes primarias (caso (1)), mientras que otras se recuperan desde plataformas de streaming.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cada estrategia trae ventajas, desventajas y modos de falla distintos. Discutiremos eso en la pr\u00f3xima parte de esta serie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>En las pr\u00f3ximas secciones<\/strong>, enumeraremos las ventajas y desventajas de usar feature stores, seg\u00fan nuestra experiencia en Nubank.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pros<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pro: Las feature stores mitigan el sesgo entre entrenamiento e inferencia (training-serving skew)<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Training-serving skew<\/em> se refiere a las diferencias entre c\u00f3mo se definen las features en tiempo de entrenamiento y en tiempo de inferencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Estas inconsistencias rompen la suposici\u00f3n de que los datos en tiempo de inferencia seguir\u00e1n una distribuci\u00f3n similar a la usada durante el entrenamiento. Cuando esa suposici\u00f3n falla, las m\u00e9tricas de desempe\u00f1o estimadas durante el entrenamiento dejan de reflejar el comportamiento real del modelo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El training-serving skew ocurre porque la definici\u00f3n de features en tiempo de entrenamiento se hace en el <strong>entorno anal\u00edtico<\/strong>, por cient\u00edficos de datos, mientras que en tiempo de inferencia muchas veces se hace en el <strong>entorno de producci\u00f3n<\/strong>, por ingenieros. Como lo hacen personas distintas, en entornos distintos (frecuentemente con stacks distintos), las diferencias en las implementaciones son muy comunes y dif\u00edciles de detectar. Vea un resumen en la Figura 4 a continuaci\u00f3n:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"550\" data-attachment-id=\"36907\" data-permalink=\"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/image-66\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-21.png?fit=1720%2C924&amp;ssl=1\" data-orig-size=\"1720,924\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-21.png?fit=1024%2C550&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-21.png?resize=1024%2C550&#038;ssl=1\" alt=\"\" class=\"wp-image-36907\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-21.png?resize=1024%2C550&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-21.png?resize=300%2C161&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-21.png?resize=768%2C413&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-21.png?resize=1536%2C825&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-21.png?resize=1200%2C645&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-21.png?w=1720&amp;ssl=1 1720w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><strong><em>Figura 4 \u2014 Diferencias entre tiempo de entrenamiento y tiempo de inferencia:<\/em><\/strong><em> el trabajo del modelo lo hacen no solo personas distintas, sino tambi\u00e9n en entornos distintos y frecuentemente con stacks distintos. Estas diferencias son la causa principal del training-serving skew.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si la feature store puede manejar tanto los datos de tiempo de entrenamiento como la recuperaci\u00f3n en tiempo de inferencia, puede eliminar \u2014o al menos mitigar\u2014 el training-serving skew, porque ambas definiciones ahora viven en el \u201cmismo lugar\u201d, por as\u00ed decirlo.<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><em>Las feature stores reducen el riesgo de training-serving skew porque la l\u00f3gica de features \u2014en tiempo de entrenamiento y en tiempo de inferencia\u2014 se hace \u201cen el mismo lugar\u201d.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El monitoreo del training-serving skew tambi\u00e9n se vuelve m\u00e1s f\u00e1cil y eficiente. Como todos los datos necesarios est\u00e1n centralizados en un solo lugar, el monitoreo puede ser manejado por el propio equipo de la feature store.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pro: Las feature stores permiten la descubribilidad y la reutilizaci\u00f3n de features entre equipos<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Las feature stores normalmente tienen un <em>registro<\/em> o <em>cat\u00e1logo<\/em> donde se definen, describen y versionan las features individuales de los modelos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto puede ser tan simple como una carpeta dentro de un repositorio com\u00fan, una biblioteca, o un sitio interno completo donde los usuarios ingresan informaci\u00f3n (vea la Figura 5 para inspirarse).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"678\" data-attachment-id=\"36899\" data-permalink=\"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/image-63\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-18.png?fit=1070%2C708&amp;ssl=1\" data-orig-size=\"1070,708\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-18.png?fit=1024%2C678&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-18.png?resize=1024%2C678&#038;ssl=1\" alt=\"\" class=\"wp-image-36899\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-18.png?resize=1024%2C678&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-18.png?resize=300%2C199&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-18.png?resize=768%2C508&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-18.png?w=1070&amp;ssl=1 1070w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><strong><em>Figura 5 \u2014 Ejemplo de registro de features:<\/em><\/strong><em> UI web de ejemplo para un registro de features imaginario. Los usuarios pueden buscar features existentes y encontrar informaci\u00f3n sobre ellas. Aqu\u00ed vemos que la feature reported_income est\u00e1 en la versi\u00f3n 3, est\u00e1 siendo usada por 4 modelos y su due\u00f1o es la BU de Onboarding.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Estos registros son el lugar perfecto para que los potenciales usuarios (es decir, los practicantes de ML) <em>naveguen<\/em> por las features existentes y descubran aquellas que no sab\u00edan que exist\u00edan. Los usuarios pueden elegir f\u00e1cilmente features existentes para a\u00f1adirlas a un modelo, reduciendo el Time-to-Market (TTM).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dos escenarios en los que los registros de features son \u00fatiles:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Crear un modelo baseline (v0) de bajo costo usando features existentes:<\/strong> puede simplemente buscar algunas features comunes y r\u00e1pidamente desplegar un modelo baseline simple para probar una hip\u00f3tesis.<\/li>\n\n\n\n<li><strong>Aumentar un modelo existente:<\/strong> a\u00f1adir nuevas features a modelos existentes es una de las tareas m\u00e1s comunes en las que los cient\u00edficos de datos participan. Los registros de features permiten ver r\u00e1pidamente qu\u00e9 features ya est\u00e1n disponibles y el esfuerzo involucrado en a\u00f1adirlas a su modelo.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pro: Las feature stores aumentan el incentivo para la creaci\u00f3n de features<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Las empresas suelen basar la progresi\u00f3n de carrera de los empleados en criterios <strong>objetivos<\/strong>, para alinear incentivos y promover una din\u00e1mica de trabajo m\u00e1s justa. Ejemplos de m\u00e9tricas usadas incluyen el impacto financiero generado por un proyecto, el n\u00famero de personas que usan una herramienta o plataforma dada, NPS o feedback de usuarios, etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Crear features es una tarea importante, que normalmente tiene impactos financieros en la organizaci\u00f3n. Por eso, los practicantes de ML est\u00e1n incentivados a hacerlo, ya que lleva a un mayor impacto financiero que, a su vez, lleva a una mejor progresi\u00f3n de carrera. Ese impacto es a\u00fan mayor si otros equipos pueden usar las features creadas por los individuos; por lo tanto, el <strong>incentivo<\/strong> para que los practicantes creen features tambi\u00e9n aumenta. Vea un resumen en la Figura 6 a continuaci\u00f3n:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"549\" data-attachment-id=\"36902\" data-permalink=\"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/image-64\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-19.png?fit=1720%2C922&amp;ssl=1\" data-orig-size=\"1720,922\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-19.png?fit=1024%2C549&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-19.png?resize=1024%2C549&#038;ssl=1\" alt=\"\" class=\"wp-image-36902\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-19.png?resize=1024%2C549&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-19.png?resize=300%2C161&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-19.png?resize=768%2C412&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-19.png?resize=1536%2C823&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-19.png?resize=1200%2C643&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-19.png?w=1720&amp;ssl=1 1720w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><strong><em>Figura 6 \u2014 Los incentivos importan:<\/em><\/strong><em> crear features en una feature store normalmente implica trabajo extra (hay que crear metadatos, conseguir revisiones de otros equipos, etc.), pero aumenta de forma desproporcionada el impacto de dichas features, lo que a su vez ayuda a la progresi\u00f3n de carrera de los practicantes. Gana-gana.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los incentivos son importantes: las feature stores aumentan el impacto de las features que, a su vez, aumenta el impacto organizacional de los practicantes de ML y los incentivos para crearlas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pro: Las feature stores centralizan la gesti\u00f3n de features en una sola plataforma, aumentando la eficiencia<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Recuperar features de modelo en tiempo real desde una feature store (en lugar de hacerlo desde los servicios de origen de cada feature individualmente) significa que muchas responsabilidades ahora pueden \u201cabstraerse\u201d en la plataforma.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>La observabilidad<\/strong> es un buen ejemplo. Una feature store puede instrumentar f\u00e1cilmente la recuperaci\u00f3n de features con logs y m\u00e9tricas cada vez que un servicio upstream las solicita. Tambi\u00e9n puede generar dashboards de monitoreo gen\u00e9ricos para que las partes interesadas tengan visibilidad sobre las distribuciones de features y monitoreen problemas. Vea una representaci\u00f3n visual a continuaci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" data-attachment-id=\"36913\" data-permalink=\"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/image-68\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-23.png?fit=1752%2C988&amp;ssl=1\" data-orig-size=\"1752,988\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-23.png?fit=1024%2C577&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-23.png?resize=1024%2C577&#038;ssl=1\" alt=\"\" class=\"wp-image-36913\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-23.png?resize=1024%2C577&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-23.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-23.png?resize=768%2C433&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-23.png?resize=1536%2C866&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-23.png?resize=1200%2C677&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/image-23.png?w=1752&amp;ssl=1 1752w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>Figura 7 \u2014 Logs y m\u00e9tricas centralizados<\/em><\/strong><em> permiten que los servicios cliente obtengan observabilidad \u201cgratis\u201d, sin implementar funcionalidad repetitiva para cada integraci\u00f3n.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Muchas otras responsabilidades tambi\u00e9n pueden extraerse a una plataforma de feature store para que los equipos clientes no tengan que lidiar con ellas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Documentaci\u00f3n:<\/strong> toda la documentaci\u00f3n de features puede centralizarse en un registro de features (como se muestra en la Figura 5), que es parte de la feature store.<\/li>\n\n\n\n<li><strong>Mantenimiento:<\/strong> actualizar el c\u00f3digo de las features para corregir bugs, mejorar la eficiencia y gestionar el versionado. Todo esto se vuelve mucho m\u00e1s eficiente cuando lo maneja un equipo dedicado y especializado.<\/li>\n\n\n\n<li><strong>Capacidades de depuraci\u00f3n\/troubleshooting:<\/strong> la plataforma puede crear herramientas centralizadas para visualizaci\u00f3n y procesamiento de logs (p. ej., visualizaci\u00f3n de tracing distribuido, consultas SQL sobre logs y m\u00e1s).<\/li>\n\n\n\n<li><strong>Cach\u00e9:<\/strong> es muy com\u00fan que los valores de features se cacheen para reducir costos y tiempos de procesamiento. Proveer esa capa de cach\u00e9 en los puntos de entrada de la plataforma puede hacerlo f\u00e1cilmente el equipo de la feature store.<\/li>\n\n\n\n<li><strong>Gobernanza\/Auditor\u00eda:<\/strong> las organizaciones que operan en entornos altamente regulados (p. ej., banca, salud, defensa) suelen necesitar mantener trazas de auditor\u00eda precisas de c\u00f3mo se usan los modelos. Algunos ejemplos:<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00bfCu\u00e1les fueron los valores exactos de las features y el score de salida para cada instancia individual evaluada? (o al menos una muestra de esto)<\/li>\n\n\n\n<li>\u00bfQu\u00e9 versi\u00f3n exacta del modelo se estaba usando en un momento espec\u00edfico?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Contras<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Contra: Las feature stores pueden volverse cuellos de botella para equipos que necesitan iterar r\u00e1pido<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Desde el punto de vista de los equipos clientes, recuperar una feature desde una plataforma de feature store puede ser m\u00e1s dif\u00edcil que hacerlo \u201ca la manera habitual\u201d (es decir, consultando directamente su fuente primaria).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como resultado, los equipos con ciclos de experimentaci\u00f3n muy cortos pueden ver la plataforma como una fuente de fricci\u00f3n. Esto generalmente ocurre en escenarios como:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Pruebas de concepto (PoCs) r\u00e1pidas<\/em><\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Un equipo quiere crear una feature simple para probar una nueva fuente de datos, pero tener que agregarla primero a la FS a\u00f1ade demasiado overhead y desvirt\u00faa el prop\u00f3sito de una PoC simple.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Capacidades a\u00fan no disponibles en la feature store<\/em><\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Un equipo necesita funcionalidad personalizada (como pre-procesamiento o post-procesamiento personalizado) que a\u00fan no existe en la plataforma. Sin embargo, el equipo de la FS tiene su propio roadmap y objetivos y no puede priorizar habilitar esa funcionalidad ahora.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por supuesto, el equipo de la FS puede y <em>debe<\/em> hacer la plataforma lo m\u00e1s simple posible de usar. La facilidad de uso reduce el overhead y, por lo tanto, reduce estos problemas. Aprendimos varias lecciones sobre este tema, como veremos en la parte 2 de esta serie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Contra: Las arquitecturas ingenuas pueden introducir latencia adicional<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La implementaci\u00f3n m\u00e1s \u201cingenua\u201d de una feature store en tiempo real es como una \u201ccapa intermedia\u201d entre los modelos y los servicios upstream que poseen las features.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, esta nueva capa <em>agregar\u00e1<\/em> algo de overhead de latencia en comparaci\u00f3n con el acceso directo a esas fuentes (simplemente porque se est\u00e1n agregando llamadas extra de red o de base de datos al flujo).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede ser un problema en escenarios donde los milisegundos hacen diferencia (p. ej., High-frequency Trading), pero estos casos son poco frecuentes. Aun as\u00ed, existen varias estrategias para reducir este impacto:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Prefetching:<\/strong> se refiere a obtener y cachear las <em>pr\u00f3ximas<\/em> features (antes de que siquiera sean solicitadas). En otras palabras, si sabemos que la feature C siempre se solicita despu\u00e9s de las features A y B, podemos calcular C de antemano para que ya est\u00e9 disponible cuando <em>sea<\/em> solicitada.<\/li>\n\n\n\n<li><strong>Cach\u00e9 local:<\/strong> los datos usados para construir features cr\u00edticas pueden almacenarse localmente en la plataforma de la FS para una recuperaci\u00f3n r\u00e1pida (en lugar de ser obtenidos por la red). Por ejemplo, si las features relacionadas con transferencias son muy importantes para usted, todas las transferencias podr\u00edan almacenarse en un key-value store local como Redis, de modo que la recuperaci\u00f3n sea instant\u00e1nea cuando\/si las features son solicitadas.<\/li>\n\n\n\n<li><strong>B\u00fasqueda en paralelo:<\/strong> las features independientes pueden recuperarse en paralelo mediante multithreading.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Vale la pena notar, sin embargo, que no todas las implementaciones de feature store siguen este enfoque ingenuo. De hecho, muchas elecciones de arquitectura pueden, de hecho, <em>reducir<\/em> el tiempo de obtenci\u00f3n de features en lugar de aumentarlo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Contra: Las feature stores pueden dificultar la observabilidad y la depuraci\u00f3n para los equipos clientes<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Introducir una feature store para recuperar features en tiempo real normalmente significa que la <strong>observabilidad<\/strong> (ver logs y m\u00e9tricas) y la <strong>depuraci\u00f3n<\/strong> (rastrear la causa ra\u00edz de un problema) cambiar\u00e1n. Eso ocurre porque la l\u00f3gica de recuperaci\u00f3n ahora est\u00e1 abstra\u00edda, y los logs pueden no parecerse a lo que los equipos clientes est\u00e1n acostumbrados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto a menudo crea una resistencia inicial a la adopci\u00f3n. Es importante asegurar que los equipos clientes no pierdan la capacidad de observar y depurar la recuperaci\u00f3n de features por su cuenta, porque a nadie le gusta perder autonom\u00eda al resolver problemas en producci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En la pr\u00e1ctica, esta resistencia puede reducirse significativamente cuando la feature store sigue las mismas convenciones usadas por los otros servicios de la organizaci\u00f3n. Algunas pr\u00e1cticas importantes incluyen:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Seguir las convenciones de logging existentes<\/em><\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Los logs y m\u00e9tricas emitidos por la plataforma de la feature store deben ser lo m\u00e1s parecidos posible a los usados por otros servicios (no-ML): usando las mismas tecnolog\u00edas, los mismos patrones, la misma estructura, siguiendo los mismos patrones de tracing distribuido donde sea aplicable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Asegurar que las necesidades b\u00e1sicas de los usuarios sean atendidas<\/em><\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Los casos de uso \u201cm\u00ednimos\u201d deben permanecer simples y f\u00e1ciles. Todos los equipos clientes deben poder:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inspeccionar las features de entrada crudas para instancias individuales evaluadas por un modelo.<\/li>\n\n\n\n<li>Ver m\u00e9tricas de latencia (promedios y percentiles) para features individuales a lo largo del tiempo.<\/li>\n\n\n\n<li>Ver mensajes de excepci\u00f3n y stack traces cada vez que ocurran errores durante la recuperaci\u00f3n de features.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Incluir todas las dimensiones necesarias en logs y m\u00e9tricas<\/em><\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Los logs y m\u00e9tricas deben incluir el nombre del modelo llamador y cualquier otra dimensi\u00f3n requerida para distinguir distintos flujos de llamada (p. ej., llamadas en modo shadow vs. no-shadow).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este \u201ccontra\u201d solo es un problema durante la adopci\u00f3n inicial de una feature store. A largo plazo, una feature store puede proveer incluso mejores capacidades de observabilidad y depuraci\u00f3n que los servicios est\u00e1ndar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusi\u00f3n<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Las feature stores conllevan un costo real de implementaci\u00f3n y adopci\u00f3n, especialmente para organizaciones que todav\u00eda est\u00e1n comenzando a estructurar sus sistemas de ML en tiempo real. Aun as\u00ed, a medida que el n\u00famero de modelos, equipos y casos de uso crece, los beneficios de estandarizaci\u00f3n, reutilizaci\u00f3n, gobernanza y eficiencia operacional tienden a superar esa inversi\u00f3n inicial.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al centralizar la l\u00f3gica de features en una sola plataforma, las organizaciones pueden reducir problemas como el training-serving skew, simplificar el mantenimiento de pipelines de ML, acelerar la experimentaci\u00f3n y crear sistemas de inferencia en tiempo real m\u00e1s escalables. Adem\u00e1s, los efectos de segundo orden, como la descubribilidad de features entre equipos, la observabilidad centralizada y la reutilizaci\u00f3n de componentes, se amplifican a medida que crece la adopci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>En la parte 2 de esta serie<\/strong>, exploraremos las principales lecciones aprendidas al usar feature stores en producci\u00f3n en Nubank. <strong>\u00a1Mant\u00e9ngase atento!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>C\u00f3mo es utilizar feature stores en sistemas de machine learning en tiempo real, junto con sus pros y contras.<\/p>\n","protected":false},"author":178110103,"featured_media":36871,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2508],"tags":[],"ppma_author":[2321],"class_list":["post-36898","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-science-machine-learning-es"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Feature stores para ML en tiempo real: por qu\u00e9 y cu\u00e1ndo centralizar la l\u00f3gica de features - Building Nubank<\/title>\n<meta name=\"description\" content=\"C\u00f3mo es, en la pr\u00e1ctica, usar feature stores en sistemas de machine learning en tiempo real, junto con sus pros y contras.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Feature stores para ML en tiempo real: por qu\u00e9 y cu\u00e1ndo centralizar la l\u00f3gica de features - Building Nubank\" \/>\n<meta property=\"og:description\" content=\"C\u00f3mo es, en la pr\u00e1ctica, usar feature stores en sistemas de machine learning en tiempo real, junto con sus pros y contras.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/\" \/>\n<meta property=\"og:site_name\" content=\"Building Nubank\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-10T19:26:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-12T16:41:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/building.nubank.com\/wp-content\/uploads\/2026\/06\/Nubank_Photoshoot_Brasil_-Fotografia_Edu-Vieira-13-1024x682.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"682\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Nubank Editorial\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nubank Editorial\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/\"},\"author\":{\"name\":\"Nubank Editorial\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"headline\":\"Feature stores para ML en tiempo real: por qu\u00e9 y cu\u00e1ndo centralizar la l\u00f3gica de features\",\"datePublished\":\"2026-06-10T19:26:27+00:00\",\"dateModified\":\"2026-06-12T16:41:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/\"},\"wordCount\":3065,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Nubank_Photoshoot_Brasil_-Fotografia_Edu-Vieira-13.jpg?fit=9482%2C6311&ssl=1\",\"articleSection\":[\"Data Science &amp; Machine Learning\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/\",\"name\":\"Feature stores para ML en tiempo real: por qu\u00e9 y cu\u00e1ndo centralizar la l\u00f3gica de features - Building Nubank\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Nubank_Photoshoot_Brasil_-Fotografia_Edu-Vieira-13.jpg?fit=9482%2C6311&ssl=1\",\"datePublished\":\"2026-06-10T19:26:27+00:00\",\"dateModified\":\"2026-06-12T16:41:53+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"description\":\"C\u00f3mo es, en la pr\u00e1ctica, usar feature stores en sistemas de machine learning en tiempo real, junto con sus pros y contras.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Nubank_Photoshoot_Brasil_-Fotografia_Edu-Vieira-13.jpg?fit=9482%2C6311&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Nubank_Photoshoot_Brasil_-Fotografia_Edu-Vieira-13.jpg?fit=9482%2C6311&ssl=1\",\"width\":9482,\"height\":6311},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Feature stores para ML en tiempo real: por qu\u00e9 y cu\u00e1ndo centralizar la l\u00f3gica de features\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/\",\"name\":\"Building Nubank\",\"description\":\"We make the extraordinary happen\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\",\"name\":\"Nubank Editorial\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g0a78bc815f2126d9ba65b2af185671f1\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"caption\":\"Nubank Editorial\"},\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/author\\\/editorial\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Feature stores para ML en tiempo real: por qu\u00e9 y cu\u00e1ndo centralizar la l\u00f3gica de features - Building Nubank","description":"C\u00f3mo es, en la pr\u00e1ctica, usar feature stores en sistemas de machine learning en tiempo real, junto con sus pros y contras.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/","og_locale":"es_ES","og_type":"article","og_title":"Feature stores para ML en tiempo real: por qu\u00e9 y cu\u00e1ndo centralizar la l\u00f3gica de features - Building Nubank","og_description":"C\u00f3mo es, en la pr\u00e1ctica, usar feature stores en sistemas de machine learning en tiempo real, junto con sus pros y contras.","og_url":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/","og_site_name":"Building Nubank","article_published_time":"2026-06-10T19:26:27+00:00","article_modified_time":"2026-06-12T16:41:53+00:00","og_image":[{"width":1024,"height":682,"url":"https:\/\/building.nubank.com\/wp-content\/uploads\/2026\/06\/Nubank_Photoshoot_Brasil_-Fotografia_Edu-Vieira-13-1024x682.jpg","type":"image\/jpeg"}],"author":"Nubank Editorial","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Nubank Editorial","Tiempo de lectura":"15 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/#article","isPartOf":{"@id":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/"},"author":{"name":"Nubank Editorial","@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"headline":"Feature stores para ML en tiempo real: por qu\u00e9 y cu\u00e1ndo centralizar la l\u00f3gica de features","datePublished":"2026-06-10T19:26:27+00:00","dateModified":"2026-06-12T16:41:53+00:00","mainEntityOfPage":{"@id":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/"},"wordCount":3065,"commentCount":0,"image":{"@id":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/Nubank_Photoshoot_Brasil_-Fotografia_Edu-Vieira-13.jpg?fit=9482%2C6311&ssl=1","articleSection":["Data Science &amp; Machine Learning"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/","url":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/","name":"Feature stores para ML en tiempo real: por qu\u00e9 y cu\u00e1ndo centralizar la l\u00f3gica de features - Building Nubank","isPartOf":{"@id":"https:\/\/building.nubank.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/#primaryimage"},"image":{"@id":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/Nubank_Photoshoot_Brasil_-Fotografia_Edu-Vieira-13.jpg?fit=9482%2C6311&ssl=1","datePublished":"2026-06-10T19:26:27+00:00","dateModified":"2026-06-12T16:41:53+00:00","author":{"@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"description":"C\u00f3mo es, en la pr\u00e1ctica, usar feature stores en sistemas de machine learning en tiempo real, junto con sus pros y contras.","breadcrumb":{"@id":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/#primaryimage","url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/Nubank_Photoshoot_Brasil_-Fotografia_Edu-Vieira-13.jpg?fit=9482%2C6311&ssl=1","contentUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/Nubank_Photoshoot_Brasil_-Fotografia_Edu-Vieira-13.jpg?fit=9482%2C6311&ssl=1","width":9482,"height":6311},{"@type":"BreadcrumbList","@id":"https:\/\/building.nubank.com\/es\/feature-stores-para-ml-en-tiempo-real-por-que-y-cuando-centralizar-la-logica-de-features\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/building.nubank.com\/es\/"},{"@type":"ListItem","position":2,"name":"Feature stores para ML en tiempo real: por qu\u00e9 y cu\u00e1ndo centralizar la l\u00f3gica de features"}]},{"@type":"WebSite","@id":"https:\/\/building.nubank.com\/es\/#website","url":"https:\/\/building.nubank.com\/es\/","name":"Building Nubank","description":"We make the extraordinary happen","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/building.nubank.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4","name":"Nubank Editorial","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g0a78bc815f2126d9ba65b2af185671f1","url":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","caption":"Nubank Editorial"},"url":"https:\/\/building.nubank.com\/es\/author\/editorial\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2026\/06\/Nubank_Photoshoot_Brasil_-Fotografia_Edu-Vieira-13.jpg?fit=9482%2C6311&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pbKBB5-9B8","jetpack_sharing_enabled":true,"authors":[{"term_id":2321,"user_id":178110103,"is_guest":0,"slug":"editorial","display_name":"Nubank Editorial","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/36898","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/users\/178110103"}],"replies":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/comments?post=36898"}],"version-history":[{"count":6,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/36898\/revisions"}],"predecessor-version":[{"id":36959,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/36898\/revisions\/36959"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/media\/36871"}],"wp:attachment":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/media?parent=36898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/categories?post=36898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/tags?post=36898"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/ppma_author?post=36898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}