-
Instant SQL은 SQL 쿼리를 작성할 때 결과를 실시간으로 미리보기하여 쿼리 작성 및 디버깅을 가속화하는 도구
- 복잡한 CTE나 컬럼 수식을 손쉽게 분해하고 분석할 수 있으며, AI 기반 편집 제안을 즉시 미리볼 수 있어, 쿼리 작성 및 수정이 더욱 효율적임
-
MotherDuck과 DuckDB Local UI에서 사용 가능하며, DuckDB 기반으로 다양한 외부 데이터 소스까지 실시간 탐색 가능
- DuckDB의 로컬 우선 설계와 성능 최적화, 캐싱 전략, AST 기반 커서 매핑 등 고급 기술 조합 덕분에 실현 가능했음
-
MotherDuck은 데이터 분석을 위한 다양한 도구를 제공하는 관리형 DuckDB 클라우드 서비스
Instant SQL 소개
-
Instant SQL은 SQL 쿼리 결과를 타이핑하는 즉시 실시간으로 업데이트해주는 새로운 기능임
- 별도의 실행 버튼(run button) 없이, 0초 대기 시간(zero-latency) 으로 결과를 미리 확인할 수 있음
- 현재 MotherDuck 플랫폼과 DuckDB Local UI에서 사용 가능함
왜 Instant SQL이 필요한가
- SQL 작성은 구문이 아니라 데이터를 이해하고 질문을 구성하는 과정이 핵심임
- 기존에는 텍스트 에디터에 쿼리를 쓰고, 실행 버튼을 누르고, 결과를 기다리는 느린 반복 작업이 필수였음
- Instant SQL은 이 과정을 즉각적이고 자연스럽게 탐색하는 흐름으로 바꿔줌
주요 기능
-
작성하면서 실시간으로 결과 미리보기
- SQL 쿼리를 타이핑할 때마다 결과 세트 미리보기가 실시간으로 업데이트됨
- 간단한 변환부터 복잡한 집계까지 데이터 탐색을 끊김 없이 진행 가능함
-
CTE(공통 테이블 표현식) 실시간 디버깅
- CTE를 클릭하여 즉시 시각화 가능
- 수정사항이 즉시 모든 종속 노드에 반영되어, CTE 디버깅이 매우 쉬워짐
-
복잡한 컬럼 수식 분해
- 컬럼 수식 오류를 빠르게 찾을 수 있도록 결과 테이블에서 수식 분해 가능
- 수식 로직이나 데이터 문제를 즉각 식별할 수 있음
-
다양한 데이터 소스 지원
- DuckDB가 지원하는 모든 소스(DuckDB 테이블, S3의 parquet 파일, Postgres, SQLite, MySQL, Iceberg, Delta 등)에 대해 미리보기 가능
- 외부 데이터 모델링과 탐색이 매우 빠르게 가능해짐
-
최종 실행 전 빠른 쿼리 검증
- 미리보기를 통해 쿼리를 다듬은 후, 만족스러우면 최종 실행 가능
- SQL 작성-실행-대기 주기를 혁신적으로 단축시켜줌
-
AI 기능과의 결합
- 선택한 텍스트에 대해 자연어 명령을 입력하면 AI가 수정 제안을 해줌
- 제안 결과를 즉시 미리보기할 수 있어, 실수 위험 없이 수정을 수용할 수 있음
어떻게 가능했는가
-
초저지연 쿼리 실행 기술
-
DuckDB의 로컬 우선 설계 덕분에 PC에서 직접 빠른 결과를 얻을 수 있음
- MotherDuck의 듀얼 실행 아키텍처가 대용량 데이터도 저지연으로 지원함
-
쿼리 재작성 기술
-
DuckDB JSON 확장 기능을 활용하여 SELECT 쿼리의 **AST(구문 트리)**를 추출하고 활용함
- 쿼리 일부를 로컬 캐시 샘플 데이터로 대체하여 빠른 미리보기가 가능해짐
-
스마트 캐싱 시스템
-
미리 예측된 데이터 캐시를 사용해 키 입력 즉시 결과를 렌더링함
- 다양한 캐싱 전략을 사용하여 사용자가 손가락을 떼기도 전에 결과가 나타남
-
커서-구문트리 매핑
- 사용자의 커서 위치를 AST에서 특정 SELECT 노드로 정확히 매핑하는 기능을 개발함
- 복잡한 쿼리 안에서도 사용자가 작업 중인 SELECT문만 골라서 미리보기 제공 가능함
Instant SQL 이용 방법
-
MotherDuck이나 DuckDB Local UI에서 "공개 프리뷰"로 사용 가능
- 새로운 프롬프트 기반 수정 기능도 MotherDuck 사용자에게 제공됨