회사 소식
제품 릴리즈/패치

Trino SQL 에디터 React 컴포넌트 'trino-monaco-sql-editor' 오픈소스 공개

데이터다이나믹스가 Trino SQL 자동완성과 함수·키워드 도움말 팝업을 제공하고, Node·Python·Java 게이트웨이로 실제 쿼리까지 실행할 수 있는 React 에디터 컴포넌트를 MIT 라이선스로 GitHub에 공개했습니다.

발행: 2026년 10월 30일

데이터다이나믹스가 Trino SQL을 위한 웹 에디터 React 컴포넌트 trino-monaco-sql-editor 를 GitHub에 공개했습니다. VS Code의 편집기 엔진인 Monaco Editor를 기반으로 하며, 라이선스는 MIT 입니다.

trino-monaco-sql-editor — TPC-H 예제 쿼리를 편집하는 라이트 테마 화면

Trino와 Starburst Enterprise 클러스터를 쓰는 사내 데이터 포털이나 분석 도구에 쿼리 편집·실행 화면을 넣어야 하는 개발팀이 컴포넌트 하나로 바로 붙여 쓸 수 있습니다. 같은 구조로 만든 Oracle SQL·PL/SQL 에디터도 함께 공개했습니다. 제품 소개는 Trino Monaco SQL Editor 페이지에서 볼 수 있습니다.

주요 기능

Trino SQL 편집

  • Trino 전용 구문 강조와 테마 — Trino 키워드·함수·연산자·타입을 구분하며, 라이트·다크 테마를 제공합니다.
  • 문맥 기반 자동완성 — Web Worker에서 SQL을 ANTLR 문법으로 파싱해 커서 위치에서 문법상 가능한 것만 제안합니다. FROM 뒤에는 테이블을, SELECT·WHERE 뒤에는 컬럼을, a. 처럼 별칭 뒤에는 그 테이블의 컬럼을 제안합니다. 파싱은 메인 스레드 밖에서 돌아 입력이 끊기지 않습니다.
  • 문법 검증 — 입력 중 문법 오류를 에디터에 표시합니다. SELECT·WITH·집합 연산, INSERT·UPDATE·DELETE·MERGE, CREATE TABLE(CTAS 포함)·ALTER TABLE·SHOW·EXPLAIN 등 주요 구문을 다룹니다.
  • 클러스터 메타데이터 연동 — SHOW CATALOGS·SHOW SCHEMAS·SHOW TABLES·SHOW COLUMNS 로 실제 클러스터의 카탈로그·스키마·테이블·컬럼을 가져와 자동완성에 씁니다. 결과는 일정 시간 캐시하고, 중복 요청은 하나로 합칩니다.
  • 포매터 — Shift+Alt+F 로 SQL을 정리합니다.

함수·키워드 도움말 팝업

  • 마우스를 올리거나 Shift+F1, Ctrl/Cmd+클릭 으로 커서 아래 항목의 구문·설명·예제 를 팝업으로 보여 주고, Trino 공식 문서의 해당 페이지로 연결합니다.
  • Trino의 모든 내장 함수, 약 70개의 문장·절·연산자, 데이터 타입을 담았습니다. count(*) FILTER (WHERE …) 와 filter(array, …) 처럼 이름이 같아도 문맥에 맞는 설명을 보여 줍니다.
  • 함수 자동완성 항목에도 같은 도움말이 표시됩니다. 화면 문구와 도움말은 한국어·영어·일본어·중국어를 지원합니다.

실제 쿼리 실행 — Node·Python·Java 서버 연동

브라우저는 Trino에 직접 호출할 수 없고 자격 증명을 들고 있어서도 안 되므로, 저장소에 같은 API와 보안 방식을 가진 게이트웨이 서버 3종 을 함께 담았습니다. 운영 환경의 기술 스택에 맞춰 하나를 고르면 됩니다.

게이트웨이구성
Node.jsFastify
PythonFastAPI + httpx
JavaSpring Boot + java.net.http
  • 사용자는 자기 Trino 계정으로 한 번 로그인하고, 브라우저에는 httpOnly 세션 쿠키만 남습니다. 게이트웨이에 등록한 여러 클러스터 중에서 골라 접속할 수 있습니다.
  • 사용자마다 자기 Trino 세션 을 유지해 USE, SET SESSION, PREPARE, 트랜잭션 상태가 문장 사이에 이어집니다.
  • Ctrl/Cmd+Enter 로 쿼리를 실행하면 결과를 페이지 단위로 받아 보여 주고, 실행을 중단하면 서버에서도 쿼리를 취소합니다. 로그아웃하면 실행 중인 쿼리를 취소하고 트랜잭션을 롤백합니다.
  • Trino와 Starburst Enterprise의 Basic(비밀번호)·Bearer(JWT) 인증을 지원합니다.

참여

설치와 사용 방법, 게이트웨이 설정은 저장소의 README와 설계 문서에 정리했습니다. 버그 제보와 기능 제안, 풀리퀘스트는 GitHub 저장소에서 누구나 참여할 수 있습니다.