- Instant SQL é uma ferramenta que mostra uma prévia dos resultados em tempo real enquanto você escreve consultas SQL, acelerando a criação e a depuração de queries
- Permite decompor e analisar com facilidade CTEs complexos e expressões de colunas, além de oferecer sugestões de edição com IA com prévia imediata, tornando a escrita e a modificação de queries mais eficientes
- Está disponível no MotherDuck e na DuckDB Local UI, e permite explorar em tempo real até mesmo várias fontes de dados externas com base no DuckDB
- Isso foi possível graças à combinação de tecnologias avançadas, como o design local-first do DuckDB, otimização de desempenho, estratégias de cache e mapeamento de cursor baseado em AST
- MotherDuck é um serviço gerenciado de nuvem do DuckDB que oferece diversas ferramentas para análise de dados
Apresentando o Instant SQL
- Instant SQL é um novo recurso que atualiza os resultados de consultas SQL em tempo real, no exato momento em que você digita
- Sem botão de execução separado, é possível visualizar previamente os resultados com latência zero (zero-latency)
- Atualmente, está disponível na plataforma MotherDuck e na DuckDB Local UI
Por que o Instant SQL é necessário
- Ao escrever SQL, o essencial não é a sintaxe, mas entender os dados e formular perguntas
- Antes, era inevitável repetir um fluxo lento: escrever a query em um editor de texto, clicar no botão de executar e esperar pelos resultados
- O Instant SQL transforma esse processo em um fluxo de exploração imediato e natural
Principais recursos
-
Prévia dos resultados em tempo real enquanto você escreve
- A cada digitação na consulta SQL, a prévia do conjunto de resultados é atualizada em tempo real
- Desde transformações simples até agregações complexas, é possível avançar na exploração de dados sem interrupções
-
Depuração em tempo real de CTEs (expressões de tabela comuns)
- É possível clicar em uma CTE para visualizá-la imediatamente
- As alterações são refletidas instantaneamente em todos os nós dependentes, tornando a depuração de CTEs muito mais fácil
-
Decomposição de expressões complexas de colunas
- Para encontrar rapidamente erros em expressões de colunas, é possível decompor a expressão a partir da tabela de resultados
- Isso permite identificar imediatamente problemas de lógica da expressão ou de dados
-
Suporte a várias fontes de dados
- É possível fazer prévia de todas as fontes compatíveis com o DuckDB (tabelas DuckDB, arquivos parquet no S3, Postgres, SQLite, MySQL, Iceberg, Delta etc.)
- A modelagem e a exploração de dados externos ficam muito mais rápidas
-
Validação rápida da query antes da execução final
- Depois de refinar a query com a prévia, se estiver satisfeito, é possível fazer a execução final
- Isso encurta de forma revolucionária o ciclo escrever-executar-esperar em SQL
-
Integração com recursos de IA
- Ao inserir um comando em linguagem natural para o texto selecionado, a IA oferece sugestões de modificação
- Como o resultado sugerido pode ser visualizado imediatamente, é possível aceitar mudanças sem risco de erro
Como isso foi possível
-
Tecnologia de execução de queries com latência ultrabaixa
- Graças ao design local-first do DuckDB, é possível obter resultados rápidos diretamente no PC
- A arquitetura de execução dupla do MotherDuck também oferece suporte a grandes volumes de dados com baixa latência
-
Tecnologia de reescrita de queries
- Aproveita a extensão JSON do DuckDB para extrair e utilizar a AST (árvore de sintaxe) de consultas SELECT
- Ao substituir partes da query por dados de amostra em cache local, torna-se possível gerar prévias rapidamente
-
Sistema de cache inteligente
- Usa cache de dados previsto antecipadamente para renderizar resultados no mesmo instante de cada tecla pressionada
- Com várias estratégias de cache, os resultados aparecem antes mesmo de o usuário tirar os dedos do teclado
-
Mapeamento entre cursor e árvore sintática
- Foi desenvolvida uma função que mapeia com precisão a posição do cursor do usuário para um nó SELECT específico na AST
- Mesmo em queries complexas, é possível selecionar e mostrar a prévia apenas da instrução SELECT em que o usuário está trabalhando
Como usar o Instant SQL
- Disponível como preview pública no MotherDuck e na DuckDB Local UI
- O novo recurso de modificação baseado em prompt também está disponível para usuários do MotherDuck
2 comentários
Isso é realmente muito incrível.
Comentários do Hacker News
DELETEselect * from table limit 10;e depois vou adicionando colunas e joins