MotherDuck과 DuckDB Local UI에서 바로 사용할 수 있는 Instant SQL은, 입력과 동시에 결과가 실시간으로 업데이트되어 쿼리 작성과 디버깅 속도를 극대화합니다. CTE 실시간 편집, 컬럼 식 단계별 디버깅, 다양한 데이터 소스 지원 등, 지금까지 느려터진 SQL 워크플로우를 혁신합니다. AI 코드 편집까지 즉시 결과를 미리 볼 수 있습니다. 지금 경험해보세요!
오늘 저희는 Instant SQL을 공개합니다. Instant SQL은 쿼리 작성과 디버깅 속도를 극대화하기 위해, 입력하는 즉시 결과 집합을 실시간으로 업데이트해주는 새로운 SQL 작성 방식입니다. 완전 실시간, 실행 버튼 없이 즉시 결과를 확인할 수 있습니다. Instant SQL은 이제 MotherDuck과 DuckDB Local UI에서 사용하실 수 있습니다.
Instant SQL을 만든 이유는 간단합니다. SQL 작성이 여전히 번거롭고 느리기 때문입니다. 언어 자체의 문제가 아니라, 데이터베이스와 상호작용 방식이 SQL이 처음 만들어졌을 때 이후로 크게 변하지 않았기 때문이죠. SQL은 단순한 문법의 문제뿐만 아니라, 데이터를 이해하고, 무엇을 물어볼지 파악하며, 목적하는 결과까지 도달하는 반복적인 과정입니다. 이 과정은 꽤 어렵습니다.
“Instant SQL 덕분에 BI 툴에서 느린 반복 작업 때문에 고생하지 않아도 돼요. 작업 초기에 데이터를 빠르게 검토하고, 차트를 기다리거나 캐시를 비우지 않아도 즉각 피드백을 받을 수 있습니다.” — Mike McClannahan, CTO, DashFuel
행 단위 저장, 벡터화 실행, DuckDB처럼 초고속 엔진 등이 발전했지만, 쿼리 작성 경험 자체는 여전히 텍스트 에디터에서 코드를 쓰고, 실행 버튼을 누르고, 결과를 기다리는 방식이 반복되고 있습니다.
MotherDuck 팀은 이 문제를 다양한 각도에서 해결하고 있습니다. 작년에는 테이블과 결과에 대해 빠른 분포와 요약 통계를 제공하는 Column Explorer를 발표했고, AI 기반 SQL 오류 자동 수정 도구인 FixIt도 선보였습니다. MotherDuck 사용자들은 데이터 탐색과 쿼리 반복 작업이 빨라진 덕에 이 도구들을 매우 좋아합니다.
Instant SQL은 단순한 SQL 툴의 incremental 개선이 아니라, 쿼리와의 상호작용 방식 자체를 완전히 바꾸는 새로운 방법 입니다. 변경 사항을 즉시 확인하고, 자연스럽게 디버깅하며, AI가 추천하는 코드도 믿고 쓸 수 있습니다. 더 이상 기다릴 필요도, 맥락 전환할 필요도 없습니다. 오직 _몰입_만 남습니다.
Instant SQL이 실제로 어떻게 동작하는지 살펴봅시다.
누구나 새로운 쿼리를 작성할 때의 반복 루프를 잘 알 겁니다. 초안 작성, 실행, 기다림, 수정, 또 실행—하루에도 수백 번 반복되는 지루한 루틴이죠.
Instant SQL은 입력하는 즉시 결과 미리보기를 제공합니다. 이제는 쿼리를 ‘실행’하는 것이 아니라, 데이터를 실시간으로 탐색하며 끊기지 않는 분석 흐름 속에서 최고의 인사이트를 얻을 수 있게 됩니다.
복잡한 집계든 간단한 변환이든, Instant SQL은 결과 프리뷰를 실시간으로 보여줍니다.
CTE(Common Table Expression)는 작성은 쉽지만, 디버깅은 어렵습니다. 하루에도 몇 번씩 코드를 주석 처리해가며 CTE 내부 동작을 확인하시는 분들이 많으실 텐데요, Instant SQL에서는 CTE 위를 클릭해서 바로바로 결과를 확인할 수 있습니다. CTE를 수정하면 모든 종속 선택 노드에서도 즉시 반영되어, 쿼리 전체에 어떤 변화가 일어나는지 실시간으로 알 수 있습니다.
누구나 중요한 비즈니스 지표를 위해 복잡한 컬럼 수식을 쓰고, 실행했더니 결과가 전부 NULL
인 경험이 있을 겁니다. 그럴 땐 전체 로직 또는 데이터가 원인인지 하나씩 해체하며 원인을 찾아야 했죠.
Instant SQL에서는 결과 테이블 안에서 컬럼 식을 단계별로 분해해 어떤 일이 벌어지는지 정확히 알 수 있습니다. 쿼리를 수정할 때마다 데이터가 식 트리를 따라 어떻게 변하는지 실시간으로 보여주기 때문에, 복잡한 수치 계산이든 정규식이든 쉽게 디버깅할 수 있습니다.
Instant SQL은 DuckDB 테이블뿐만 아니라 MotherDuck의 대용량 테이블, S3의 parquet 파일, Postgres, SQLite, MySQL, Iceberg, Delta 등 DuckDB가 쿼리할 수 있는 모든 것에 작동합니다. DuckDB로 질의할 수 있다면 무엇이든 프리뷰할 수 있습니다.
이것은 외부 데이터를 빠르게 탐색 및 모델링할 수 있는 최고의 방법입니다.
Instant SQL을 이용하면 기다림 없이 쿼리 로직을 자유롭게 실험하고 다듬을 수 있습니다. 프리뷰에서 원하는 결과를 확인한 다음에야 최종적으로 실행하면 됩니다. 이 방식은 전통적인 ‘작성-실행-기다림’ 사이클을 근본적으로 바꿔, 탐색과 발견이 이어지는 몰입형 프로세스로 전환합니다.
이런 모든 워크플로우 혁신은 사람에게도 좋지만, AI 기능과 결합하면 더욱 강력해집니다. 이제 MotherDuck 사용자는 새롭게 추가된 인라인 프롬프트 편집 기능을 사용할 수 있습니다. 텍스트 일부를 선택하고 cmd+k(mac) 또는 ctrl+k(윈도우/리눅스)로 자연어로 명령을 입력하면, AI가 수정 제안을 만듭니다.
Instant SQL 덕분에, 이 인라인 편집 결과도 바로바로 결과 집합에 반영되어 미리 확인할 수 있습니다. 잘못된 제안을 수락해서 기존 작업이 망가질 걱정 없이 안전하게 실험해보세요.
Instant SQL 프로토타입이 마련되었을 때, 우리는 스스로에게 물었습니다. 왜 지금까지 이런 기능이 없었을까? 지나고 나면 당연해 보이지만, Instant SQL을 실현하기 위해선 특별한 조건들이 필요했습니다.
데이터베이스가 밀리초 단위로 응답한다 해도, 쿼리를 us-east-1 서버로 보낸다면 실제로 체감하는 속도는 빠르지 않을 수 있습니다. DuckDB의 로컬 우선 설계 덕분에, 내 컴퓨터에서 쿼리를 파싱, 종속성 캐싱, 리라이트/실행할 수 있게 되었습니다. 여기에 MotherDuck의 듀얼 실행 구조를 더해 거대한 데이터도 저지연으로 미리보기와 질의를 할 수 있습니다.
Instant SQL에는 단순히 빠른 아키텍처만 필요한 것이 아닙니다. DuckDB가 아무리 빨라져도, 현실의 복잡한 ad hoc 쿼리는 100ms 넘게 걸릴 수도 있고, remote 데이터 소스도 지원해야 하죠. 그래서 특정 테이블 샘플을 로컬로 캐싱해, 쿼리가 그쪽을 바라보도록 자동으로 재작성합니다.
몇 년 전 DuckDB는 JSON 확장에 SELECT 구문으로부터 abstract syntax tree(AST)를 추출하는 SQL Scalar 함수를 숨겨두었습니다. 이제 어떤 툴 개발자라도 이 AST를 이용해 파서 기반의 다양한 기능을 만들 수 있습니다. SQL 파서를 처음부터 만들 필요가 없습니다.
입력 중에는 커서 위치만 알면 안 되고, 순간마다 쿼리의 어느 부분에 있는지 파악해야 합니다. 저희는 결과가 즉시 보이도록 여러 로컬 캐싱 전략을 도입했습니다. 사용자가 볼 것 같은 결과를 미리 준비해놓는 시스템이라고 생각하면 됩니다. 상세한 캐싱 기법은 별도의 블로그 글로 다룰 만큼 흥미롭지만, 한 번 캐시가 준비되면 손을 떼기도 전에 결과가 스르륵 나타납니다.
즉, 빠른 로컬 SQL 엔진, AST 추출, 커서-구문트리 매핑, 스마트 캐싱 등 다양한 기술적 토대가 어우러져야 Instant SQL이 탄생할 수 있었습니다.
AST를 추출해도, 여전히 에디터 커서 위치를 AST상의 경로로 매핑해야 합니다. 그래야 사용자가 프리뷰하고 싶은 쿼리 부분을 정확히 찾아 미리보기를 보여줄 수 있죠. DuckDB 파서와 토크나이저를 조합해 모든 노드, 구문절, SELECT 문 시작·종료 위치를 찾아내는 도구를 만들었습니다. 덕분에 복잡한 쿼리 속 어디든, 현재 작업 중인 SELECT문의 프리뷰를 정확히 보여드립니다.
Instant SQL은 MotherDuck 및 DuckDB Local UI에 현재 공개 프리뷰로 제공되고 있습니다. 입력하는 순간 즉시 결과를 볼 수 있는 SQL의 쾌감을 직접 느껴보세요. 새로운 프롬프트 기반 수정 기능도 MotherDuck 사용자라면 사용하실 수 있습니다.
여러분만의 Instant SQL 활용법, 피드백, 사례를 소셜미디어나 Slack에서 전해주시길 기다립니다.
MotherDuck은 Instant SQL과 같은 혁신적인 UI부터 이를 뒷받침하는 플랫폼과 데이터베이스까지, 모두를 위한 분석의 미래를 그리고 있습니다. 복잡하고 데이터 중심의 인터페이스 구현에 열정이 있다면, 채용 중인 직무에 지원해 주시고 저희와 함께 더욱 마법 같은 기능을 만들어나가요.
지금 바로 MotherDuck을 사용해 보세요!