- Instant SQL es una herramienta que previsualiza resultados en tiempo real mientras escribes consultas SQL, acelerando la creación y depuración de consultas
- Permite descomponer y analizar fácilmente CTE complejos o fórmulas de columnas, y también previsualizar al instante sugerencias de edición basadas en IA, haciendo más eficiente la escritura y modificación de consultas
- Está disponible en MotherDuck y DuckDB Local UI, y gracias a DuckDB permite explorar en tiempo real incluso diversas fuentes de datos externas
- Fue posible gracias a la combinación de tecnologías avanzadas de DuckDB, como su diseño local-first, optimización de rendimiento, estrategias de caché y mapeo del cursor basado en AST
- MotherDuck es un servicio en la nube administrado de DuckDB que ofrece diversas herramientas para análisis de datos
Introducción a Instant SQL
- Instant SQL es una nueva función que actualiza en tiempo real los resultados de una consulta SQL en el mismo momento en que escribes
- Sin necesidad de un botón de ejecución, permite previsualizar resultados con latencia cero
- Actualmente está disponible en la plataforma MotherDuck y en DuckDB Local UI
Por qué se necesita Instant SQL
- Al escribir SQL, lo importante no es la sintaxis, sino entender los datos y formular preguntas
- Antes, era obligatorio pasar por un ciclo lento: escribir la consulta en un editor de texto, presionar ejecutar y esperar el resultado
- Instant SQL transforma ese proceso en un flujo de exploración inmediato y natural
Funciones principales
-
Previsualización de resultados en tiempo real mientras escribes
- Cada vez que escribes una consulta SQL, la vista previa del conjunto de resultados se actualiza en tiempo real
- Permite continuar la exploración de datos sin interrupciones, desde transformaciones simples hasta agregaciones complejas
-
Depuración en tiempo real de CTE (expresiones de tabla comunes)
- Puedes hacer clic en un CTE para visualizarlo al instante
- Los cambios se reflejan de inmediato en todos los nodos dependientes, lo que facilita mucho la depuración de CTE
-
Descomposición de fórmulas complejas de columnas
- Permite desglosar fórmulas desde la tabla de resultados para encontrar rápidamente errores en fórmulas de columnas
- Ayuda a identificar de inmediato problemas en la lógica de la fórmula o en los datos
-
Compatibilidad con diversas fuentes de datos
- Permite previsualizar cualquier fuente compatible con DuckDB (tablas de DuckDB, archivos parquet en S3, Postgres, SQLite, MySQL, Iceberg, Delta, etc.)
- Hace que el modelado y la exploración de datos externos sean mucho más rápidos
-
Validación rápida de consultas antes de la ejecución final
- Después de ajustar la consulta mediante la vista previa, si el resultado te convence, puedes hacer la ejecución final
- Reduce de forma drástica el ciclo de escribir SQL, ejecutar y esperar
-
Integración con funciones de IA
- Si ingresas una instrucción en lenguaje natural sobre el texto seleccionado, la IA propone modificaciones
- Puedes previsualizar al instante el resultado sugerido y aceptar cambios sin riesgo de cometer errores
Cómo fue posible
-
Tecnología de ejecución de consultas de ultra baja latencia
- Gracias al diseño local-first de DuckDB, es posible obtener resultados rápidos directamente en la PC
- La arquitectura de ejecución dual de MotherDuck también permite trabajar con grandes volúmenes de datos con baja latencia
-
Tecnología de reescritura de consultas
- Aprovecha la extensión JSON de DuckDB para extraer y usar el AST (árbol de sintaxis) de consultas SELECT
- Sustituye partes de la consulta por datos de muestra en caché local, lo que permite una vista previa rápida
-
Sistema de caché inteligente
- Usa una caché de datos anticipada para renderizar resultados en cuanto se presiona una tecla
- Con varias estrategias de caché, los resultados aparecen incluso antes de que el usuario levante los dedos del teclado
-
Mapeo entre cursor y árbol de sintaxis
- Se desarrolló una función que asigna con precisión la posición del cursor del usuario a un nodo SELECT específico dentro del AST
- Incluso en consultas complejas, permite seleccionar y previsualizar solo la sentencia SELECT en la que el usuario está trabajando
Cómo usar Instant SQL
- Está disponible como vista previa pública en MotherDuck y DuckDB Local UI
- La nueva función de modificación basada en prompts también está disponible para usuarios de MotherDuck
2 comentarios
Esto está realmente increíble.
Comentarios en Hacker News
DELETEselect * from table limit 10;y luego agrego columnas y joins