<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Análisis De Datos el josiete.com</title><link>https://www.josiete.com/tags/an%C3%A1lisis-de-datos/</link><description>Contenido reciente en Análisis De Datos el josiete.com</description><generator>Hugo</generator><language>es-es</language><lastBuildDate>Thu, 24 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.josiete.com/tags/an%C3%A1lisis-de-datos/index.xml" rel="self" type="application/rss+xml"/><item><title>Polars: Python acelera sus DataFrames con Rust y varios hilos</title><link>https://www.josiete.com/posts/polars-python/</link><pubDate>Thu, 24 Sep 2026 00:00:00 +0000</pubDate><guid>https://www.josiete.com/posts/polars-python/</guid><description>&lt;p&gt;&lt;img src="https://www.josiete.com/images/polars-python.webp" alt="Ilustración del logo de Polars rodeado de columnas de datos y líneas de procesamiento paralelo"&gt;&lt;/p&gt;&#10;&lt;p&gt;Python sigue siendo uno de los lenguajes más cómodos para explorar y transformar datos. Sin embargo, la comodidad de un DataFrame no siempre se traduce en velocidad: cuando crecen las columnas y las filas, el coste de memoria y de CPU se vuelve muy visible. &lt;a href="https://pola.rs/"&gt;Polars&lt;/a&gt; aborda ese problema con una librería de DataFrames escrita en Rust y con una API disponible desde Python.&lt;/p&gt;&#10;&lt;h2 id="qué-es-polars"&gt;¿Qué es Polars?&lt;/h2&gt;&#10;&lt;p&gt;Polars es un motor de consultas analíticas y una librería de DataFrames para trabajar con datos tabulares. Su núcleo está escrito en Rust, utiliza un modelo de memoria compatible con Apache Arrow y combina ejecución vectorizada, optimización de consultas y procesamiento por columnas.&lt;/p&gt;&#10;&lt;p&gt;La API ofrece dos estilos. El modo eager ejecuta cada operación al momento, algo útil para exploraciones interactivas. El modo lazy construye un plan de consulta: Polars puede reordenar operaciones, eliminar columnas que no hacen falta y aplicar filtros tan pronto como sea posible antes de ejecutar el resultado.&lt;/p&gt;&#10;&lt;p&gt;No es una sustitución universal de una base de datos o de un sistema distribuido. Su punto fuerte es exprimir una máquina —portátil o servidor— y trabajar con CSV, Parquet, JSON y otras fuentes sin obligar al usuario a administrar un clúster.&lt;/p&gt;&#10;&lt;h2 id="el-paralelismo-más-de-un-hilo-sin-escribir-código-de-concurrencia"&gt;El paralelismo: más de un hilo sin escribir código de concurrencia&lt;/h2&gt;&#10;&lt;p&gt;Una diferencia importante frente a muchos flujos tradicionales de Python es que Polars no delega todo el trabajo pesado en el hilo principal del intérprete. Las operaciones del motor están implementadas en Rust y su planificador utiliza un &lt;em&gt;thread pool&lt;/em&gt; para repartir tareas entre los núcleos disponibles. El motor es vectorizado, columnar y multihilo; por eso un filtro, una agregación o un &lt;code&gt;join&lt;/code&gt; puede aprovechar varios cores automáticamente.&lt;/p&gt;&#10;&lt;p&gt;En la práctica, esto significa que el usuario escribe expresiones normales de Polars y el motor decide cómo paralelizarlas. No hace falta crear un &lt;code&gt;ThreadPoolExecutor&lt;/code&gt;, serializar cada partición ni coordinar manualmente los resultados. La API de Python actúa como una interfaz; el cálculo intensivo ocurre en el núcleo nativo.&lt;/p&gt;&#10;&lt;p&gt;Se puede consultar el tamaño del grupo de hilos con &lt;code&gt;pl.thread_pool_size()&lt;/code&gt; en versiones actuales. Polars lo configura automáticamente de forma razonable, pero en un entorno compartido —por ejemplo, dentro de un worker que ya limita la CPU— puede fijarse &lt;code&gt;POLARS_MAX_THREADS&lt;/code&gt; antes de importar la librería:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;POLARS_MAX_THREADS&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; python analizar_ventas.py&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Conviene no confundir este paralelismo con la ejecución distribuida: varios hilos aprovechan los núcleos de una sola máquina. Para datos que no caben en memoria, el motor lazy también puede ejecutar en streaming cuando el plan lo permite; para escalar horizontalmente existe una capa distribuida separada.&lt;/p&gt;&#10;&lt;h2 id="la-empresa-detrás-del-proyecto"&gt;La empresa detrás del proyecto&lt;/h2&gt;&#10;&lt;p&gt;Polars nació en 2020 como un proyecto personal de &lt;a href="https://pola.rs/about-us/"&gt;Ritchie Vink&lt;/a&gt;, inicialmente para aprender sobre motores de consultas, Apache Arrow y Rust. El 3 de agosto de 2023, Vink y &lt;a href="https://pola.rs/posts/company-announcement/"&gt;Chiel Peters&lt;/a&gt; anunciaron la creación de Polars Inc., una empresa con sede en Ámsterdam orientada a aportar ingeniería y estabilidad a largo plazo al ecosistema.&lt;/p&gt;&#10;&lt;p&gt;La empresa no sustituyó al proyecto comunitario: Polars continúa siendo software libre bajo licencia MIT. Su objetivo es financiar el desarrollo del motor, mejorar conectores y ofrecer productos para ejecutar consultas a mayor escala, incluido Polars Cloud. Es una separación interesante: una compañía puede construir servicios comerciales alrededor del proyecto mientras el núcleo abierto sigue disponible para cualquiera.&lt;/p&gt;&#10;&lt;h2 id="un-ejemplo-en-python"&gt;Un ejemplo en Python&lt;/h2&gt;&#10;&lt;p&gt;Instalamos la librería con &lt;code&gt;pip&lt;/code&gt; y construimos una pequeña transformación. &lt;code&gt;scan_csv&lt;/code&gt; devuelve un &lt;code&gt;LazyFrame&lt;/code&gt;, por lo que las operaciones se planifican y &lt;code&gt;collect()&lt;/code&gt; ejecuta el plan optimizado.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip install polars&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; polars &lt;span style="color:#66d9ef"&gt;as&lt;/span&gt; pl&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ventas &lt;span style="color:#f92672"&gt;=&lt;/span&gt; pl&lt;span style="color:#f92672"&gt;.&lt;/span&gt;scan_csv(&lt;span style="color:#e6db74"&gt;&amp;#34;ventas.csv&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;resultado &lt;span style="color:#f92672"&gt;=&lt;/span&gt; (&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ventas&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;.&lt;/span&gt;filter(pl&lt;span style="color:#f92672"&gt;.&lt;/span&gt;col(&lt;span style="color:#e6db74"&gt;&amp;#34;estado&amp;#34;&lt;/span&gt;) &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;pagado&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;.&lt;/span&gt;with_columns(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (pl&lt;span style="color:#f92672"&gt;.&lt;/span&gt;col(&lt;span style="color:#e6db74"&gt;&amp;#34;unidades&amp;#34;&lt;/span&gt;) &lt;span style="color:#f92672"&gt;*&lt;/span&gt; pl&lt;span style="color:#f92672"&gt;.&lt;/span&gt;col(&lt;span style="color:#e6db74"&gt;&amp;#34;precio&amp;#34;&lt;/span&gt;))&lt;span style="color:#f92672"&gt;.&lt;/span&gt;alias(&lt;span style="color:#e6db74"&gt;&amp;#34;importe&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; )&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;.&lt;/span&gt;group_by(&lt;span style="color:#e6db74"&gt;&amp;#34;categoria&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;.&lt;/span&gt;agg(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pl&lt;span style="color:#f92672"&gt;.&lt;/span&gt;col(&lt;span style="color:#e6db74"&gt;&amp;#34;importe&amp;#34;&lt;/span&gt;)&lt;span style="color:#f92672"&gt;.&lt;/span&gt;sum()&lt;span style="color:#f92672"&gt;.&lt;/span&gt;alias(&lt;span style="color:#e6db74"&gt;&amp;#34;facturacion&amp;#34;&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pl&lt;span style="color:#f92672"&gt;.&lt;/span&gt;col(&lt;span style="color:#e6db74"&gt;&amp;#34;unidades&amp;#34;&lt;/span&gt;)&lt;span style="color:#f92672"&gt;.&lt;/span&gt;sum()&lt;span style="color:#f92672"&gt;.&lt;/span&gt;alias(&lt;span style="color:#e6db74"&gt;&amp;#34;unidades&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; )&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;.&lt;/span&gt;sort(&lt;span style="color:#e6db74"&gt;&amp;#34;facturacion&amp;#34;&lt;/span&gt;, descending&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;True&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;.&lt;/span&gt;collect()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;print(resultado)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;El código expresa qué queremos obtener y deja que Polars decida cómo recorrer las columnas y repartir el trabajo. En un fichero grande, el modo lazy puede evitar leer columnas innecesarias y empujar el filtro hacia la lectura. Si el origen ya es Parquet, &lt;code&gt;pl.scan_parquet(&amp;quot;datos/*.parquet&amp;quot;)&lt;/code&gt; permite mantener el mismo patrón.&lt;/p&gt;&#10;&lt;h2 id="cuándo-elegirlo"&gt;¿Cuándo elegirlo?&lt;/h2&gt;&#10;&lt;p&gt;Polars encaja especialmente bien en pipelines de transformación, análisis exploratorio con volúmenes grandes, preparación de datos para modelos y servicios que necesitan respuestas rápidas sin levantar un sistema distribuido. Si el proyecto depende de un ecosistema concreto de pandas, la migración requiere revisar algunas operaciones y tipos; aun así, ambas librerías pueden convivir y Polars permite convertir a pandas cuando sea necesario.&lt;/p&gt;&#10;&lt;p&gt;La idea central es sencilla: Python conserva una interfaz expresiva, mientras Rust se ocupa del trabajo intensivo, la memoria y el paralelismo. Esa combinación convierte a Polars en una opción muy atractiva cuando un DataFrame deja de ser pequeño, pero todavía queremos que el análisis viva cerca de nuestro código.&lt;/p&gt;&#10;</description></item><item><title>DuckDB: el pato analítico que acaba de aterrizar en AWS</title><link>https://www.josiete.com/posts/duckdb/</link><pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate><guid>https://www.josiete.com/posts/duckdb/</guid><description>&lt;p&gt;&lt;img src="https://www.josiete.com/images/duckdb-amazon.webp" alt="Ilustración de DuckDB conectado con la infraestructura de Amazon Web Services"&gt;&lt;/p&gt;&#10;&lt;p&gt;Hay herramientas que aparecen en los pipelines de datos porque una gran empresa las impone y otras que se extienden porque resuelven un problema cotidiano con una elegancia difícil de ignorar. DuckDB pertenece a la segunda categoría. Es una base de datos analítica embebida, pequeña, rápida y capaz de consultar archivos locales o remotos con SQL. En los últimos años se ha convertido en una pieza habitual del trabajo de Data Engineering, Data Science y Analytics Engineering.&lt;/p&gt;&#10;&lt;p&gt;Y ahora está en el centro de una noticia importante: &lt;a href="https://www.aboutamazon.com/news/company-news/aws-ducklabs"&gt;Amazon ha incorporado DuckLabs a AWS&lt;/a&gt;, la empresa de Ámsterdam creada alrededor del equipo que desarrolla DuckDB. La operación se anunció en agosto de 2026 y &lt;a href="https://ducklabs.com/news/2026/08/26/ducklabs-to-join-aws"&gt;DuckLabs confirmó que se completó el 31 de agosto&lt;/a&gt;. La parte importante para los usuarios es que no se ha comprado el proyecto open source: DuckDB continúa bajo la tutela independiente de la &lt;a href="https://duckdb.foundation/"&gt;DuckDB Foundation&lt;/a&gt; y bajo licencia MIT.&lt;/p&gt;&#10;&lt;h2 id="qué-es-duckdb"&gt;¿Qué es DuckDB?&lt;/h2&gt;&#10;&lt;p&gt;DuckDB es un sistema gestor de bases de datos relacional orientado a análisis —OLAP—. A diferencia de una base de datos servidor tradicional, se ejecuta dentro del proceso de la aplicación: se importa como una librería de Python, R, Go, Java, Rust, Node.js o C++, o se usa desde su CLI.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;SELECT&lt;/span&gt; country, &lt;span style="color:#66d9ef"&gt;sum&lt;/span&gt;(amount) &lt;span style="color:#66d9ef"&gt;AS&lt;/span&gt; total&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;FROM&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;sales/*.parquet&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;GROUP&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;BY&lt;/span&gt; country&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ORDER&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;BY&lt;/span&gt; total &lt;span style="color:#66d9ef"&gt;DESC&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;No hace falta levantar un clúster ni crear primero una tabla intermedia. DuckDB puede consultar directamente CSV, Parquet, JSON y otros formatos, incluidos datos accesibles mediante HTTP(S) o S3. Su motor vectorizado procesa lotes de valores en cada operación y está optimizado para escanear, filtrar, agregar y combinar cantidades grandes de datos.&lt;/p&gt;&#10;&lt;p&gt;La comparación que mejor lo explica es con SQLite: ambos son sencillos, embebidos y portables, pero SQLite está pensado principalmente para cargas transaccionales y DuckDB para consultas analíticas. No es un sustituto universal de PostgreSQL, una cola de eventos o un warehouse distribuido. Su virtud es ocupar un lugar muy concreto y hacerlo extraordinariamente bien.&lt;/p&gt;&#10;&lt;h2 id="quién-lo-mantiene"&gt;¿Quién lo mantiene?&lt;/h2&gt;&#10;&lt;p&gt;DuckDB nació en el grupo de arquitecturas de bases de datos de &lt;a href="https://www.cwi.nl/en/news/2021/new-cwi-spin-off-company-duckdb-labs-solutions-for-fast-database-analytics/"&gt;CWI Amsterdam&lt;/a&gt;, con Hannes Mühleisen y Mark Raasveldt entre sus creadores. El desarrollo profesional se organizó en DuckDB Labs, que posteriormente pasó a llamarse DuckLabs.&lt;/p&gt;&#10;&lt;p&gt;La pieza de gobernanza clave es la DuckDB Foundation, una fundación neerlandesa sin ánimo de lucro que posee la propiedad intelectual y las marcas del Duck Stack. Su consejo incluye a los creadores de DuckDB y a Peter Boncz, investigador de sistemas de bases de datos. DuckLabs aporta el equipo de ingeniería; la Foundation protege el proyecto y su licencia abierta.&lt;/p&gt;&#10;&lt;h2 id="por-qué-es-software-libre"&gt;¿Por qué es software libre?&lt;/h2&gt;&#10;&lt;p&gt;DuckDB se distribuye bajo la licencia &lt;a href="https://github.com/duckdb/duckdb/blob/main/LICENSE"&gt;MIT&lt;/a&gt;, una licencia permisiva que permite usar, estudiar, modificar y redistribuir el software, también dentro de productos comerciales. La propia documentación de DuckDB explica que el proyecto nació en un entorno de investigación pública neerlandesa y que sus autores consideran una responsabilidad social hacer accesibles sus resultados.&lt;/p&gt;&#10;&lt;p&gt;La libertad no es solo una cuestión moral o académica. En una herramienta que se coloca en medio de un pipeline, poder inspeccionar el motor, compilarlo para distintas arquitecturas y añadir extensiones reduce el riesgo de dependencia. También permite que universidades, empresas, fabricantes de herramientas y usuarios individuales trabajen sobre la misma base.&lt;/p&gt;&#10;&lt;h2 id="por-qué-se-ha-puesto-tan-de-moda-en-data-engineering"&gt;¿Por qué se ha puesto tan de moda en Data Engineering?&lt;/h2&gt;&#10;&lt;p&gt;La popularidad de DuckDB no se explica por una única característica, sino por cómo encajan varias:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Cero infraestructura para empezar&lt;/strong&gt;: se instala como una librería y no exige administrar servidores.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SQL sobre archivos&lt;/strong&gt;: convierte un directorio de Parquet o CSV en una fuente consultable sin cargarlo antes en un sistema central.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Velocidad analítica&lt;/strong&gt;: su ejecución columnar y vectorizada encaja con agregaciones, joins y escaneos completos.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Portabilidad&lt;/strong&gt;: funciona en un portátil, un contenedor, una función, un navegador mediante WebAssembly o un servidor grande.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Encaje con Python y R&lt;/strong&gt;: permite pasar de un DataFrame a SQL y volver sin mover innecesariamente los datos.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Interoperabilidad&lt;/strong&gt;: Parquet, JSON, HTTP(S), S3, extensiones y formatos de lakehouse forman parte de su ecosistema.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Reproducibilidad&lt;/strong&gt;: un fichero de base de datos o un script SQL puede acompañar al proyecto y ejecutarse en CI, en local o en un notebook.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Esto cambia el orden tradicional de algunos flujos. En vez de subir todos los datos a un warehouse para empezar a explorar, un ingeniero puede hacer una primera transformación local sobre los objetos del lake, validar una hipótesis y materializar solo lo que merece convertirse en un proceso permanente. DuckDB no elimina el warehouse: hace más barato y rápido el trabajo que ocurre antes, al lado o entre sus consultas.&lt;/p&gt;&#10;&lt;h2 id="la-adquisición-de-amazon-qué-ha-pasado-realmente"&gt;La adquisición de Amazon: qué ha pasado realmente&lt;/h2&gt;&#10;&lt;p&gt;Conviene ser preciso con los términos. AWS ha adquirido DuckLabs, no el proyecto DuckDB como si fuera una aplicación cerrada. Según &lt;a href="https://www.aboutamazon.com/news/company-news/aws-ducklabs"&gt;Amazon&lt;/a&gt;, Hannes Mühleisen y Mark Raasveldt seguirán liderando el equipo y la dirección técnica del proyecto. Según &lt;a href="https://ducklabs.com/news/2026/08/26/ducklabs-to-join-aws"&gt;el anuncio de DuckLabs&lt;/a&gt;, el equipo permanece unido en Ámsterdam, DuckDB, DuckLake y Quack continúan bajo la Foundation y el software sigue bajo MIT.&lt;/p&gt;&#10;&lt;p&gt;El interés de AWS es comprensible: DuckDB es una capa muy eficaz para trabajar cerca de los datos, especialmente en S3, y puede conectar ficheros, notebooks, aplicaciones, lakehouses y servicios analíticos. La combinación da a AWS acceso a talento especializado y al proyecto le da recursos, infraestructura y una distribución comercial mucho mayores.&lt;/p&gt;&#10;&lt;h2 id="cambiará-el-diseño-de-duckdb"&gt;¿Cambiará el diseño de DuckDB?&lt;/h2&gt;&#10;&lt;p&gt;Todavía es pronto para afirmar qué decisiones concretas cambiarán. Los anuncios públicos dicen que no cambian la licencia, la gobernanza ni la hoja de ruta inmediata. Lo que sí podemos hacer es plantear hipótesis razonables:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Más profundidad en el ecosistema cloud&lt;/strong&gt;. Es probable que veamos más trabajo en S3, formatos de lakehouse, catálogos, permisos y conexiones con servicios de AWS. El reto será mejorar esa integración sin convertir DuckDB en un cliente privilegiado de un solo proveedor.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Más inversión en funcionamiento remoto&lt;/strong&gt;. DuckDB nació como motor embebido, pero su ecosistema ya explora protocolos y escenarios distribuidos. AWS puede acelerar características que permitan pasar de la exploración local a datos remotos sin perder la sencillez del modelo.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Mayor presión sobre extensiones y compatibilidad&lt;/strong&gt;. La Foundation y DuckLabs han indicado que quieren ampliar la comunidad y el sistema de extensiones. Eso puede traer más conectores y formatos, pero también exige mantener APIs estables, seguridad y una experiencia coherente.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Diseño vendor-neutral como decisión estratégica&lt;/strong&gt;. Paradójicamente, para que AWS obtenga valor a largo plazo, DuckDB debe seguir siendo útil fuera de AWS. La adopción que lo hizo valioso depende de que funcione en local, en otras nubes, en notebooks y dentro de productos de terceros.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;Estas son inferencias, no compromisos publicados. La prueba será observar si las nuevas integraciones se diseñan como extensiones abiertas y si la comunidad conserva capacidad real para discutir la hoja de ruta. La &lt;a href="https://ducklabs.com/news/2026/08/26/ducklabs-to-join-aws"&gt;Foundation ya ha anunciado un consejo asesor técnico con participación de la comunidad&lt;/a&gt;, algo que puede ayudar a convertir esa apertura en práctica de diseño.&lt;/p&gt;&#10;&lt;h2 id="la-pregunta-interesante"&gt;La pregunta interesante&lt;/h2&gt;&#10;&lt;p&gt;La compra no responde solo a si Amazon puede sacar provecho de DuckDB. La pregunta más interesante es si una empresa cloud puede financiar un componente de infraestructura que siga siendo neutral, pequeño y agradable de usar, incluso cuando ese componente haga más sencillo trabajar fuera de su propia nube.&lt;/p&gt;&#10;&lt;p&gt;Por ahora, la respuesta oficial es tranquilizadora: DuckDB sigue siendo libre, la licencia MIT permanece y la Foundation conserva la tutela del proyecto. El futuro dependerá de las decisiones menos visibles: qué se prioriza, qué se mantiene fuera del núcleo, cómo se aceptan extensiones, cómo se cuida la portabilidad y quién tiene voz cuando hay un conflicto entre la comunidad y los intereses de AWS.&lt;/p&gt;&#10;&lt;p&gt;DuckDB se puso de moda porque redujo la distancia entre una pregunta y una respuesta sobre datos. Su siguiente etapa será interesante si consigue reducir también la distancia entre el mundo local y la nube sin obligarnos a escoger una sola de las dos cosas.&lt;/p&gt;&#10;</description></item></channel></rss>