DuckDB anuncia la versión 2.0 'Cyanoptera' con servidor nativo y tipo VARIANT

Fuentes: A Preview of DuckDB v2.0

El equipo de DuckDB ha anunciado que la versión 2.0 de su base de datos analítica en proceso, bautizada 'Cyanoptera' en honor a la cerceta colorada (Anas cyanoptera), se lanzará este otoño. El salto a una versión mayor —la primera desde la 1.5 publicada en marzo— incorpora más de 10.000 commits y un conjunto amplio de cambios, entre ellos un nuevo analizador sintáctico SQL, un nuevo formato de almacenamiento por defecto, una API de C revisada y algunas rupturas de compatibilidad deliberadas.

La novedad más destacada es la apuesta por DuckDB como servidor: la extensión quack, que implementa el protocolo nativo de DuckDB para comunicarse con otras instancias, pasa a estable en la 2.0. Gracias a la nueva sentencia CONNECT, cualquier proceso DuckDB puede atender sus bases de datos por red y cualquier otro DuckDB puede conectarse y enrutar consultas, con descarga remota optimizada también para PostgreSQL y MySQL. Los autores subrayan que DuckDB cuenta desde sus inicios con transacciones, MVCC e isolation completos, por lo que el patrón cliente/servidor abre la puerta a despliegues multiinquilino y de larga duración.

En el plano del modelo de datos, el tipo VARIANT —introducido en la 1.5— se convierte en ciudadano de primera clase con ejecución fragmentada ('shredded') de extremo a extremo, lectura y escritura en Parquet y nuevas funciones variant_*. La versión también añade triggers completos (BEFORE/AFTER, ROW/STATEMENT, tablas de transición), uniones NEAREST para búsquedas de similitud top-k, DML dentro de CTEs y esquemas anidados. Los desarrolladores prevén respaldar el tipo JSON estándar con VARIANT poco después del lanzamiento.