피드로 돌아가기
Hugging Face BlogBackend
원문 읽기
Hugging Face Hub이 DuckDB WASM 기반 SQL Console을 도입해 Parquet 형식의 데이터셋을 브라우저에서 직접 쿼리 가능하게 구현
Introducing the SQL Console on Datasets
AI 요약
Context
Hugging Face Hub에 매월 업로드되는 데이터셋 규모가 급증하면서 사용자들이 데이터를 조회, 필터링, 발견하기 위한 도구가 필요했다.
Technical Solution
- DuckDB WASM을 엔진으로 채택하여 브라우저에서 100% 로컬 실행되는 SQL 콘솔 구현: 서버 또는 백엔드 의존성 제거
- Parquet 형식 기반 쿼리 처리: 대부분의 Hub 데이터셋이 Parquet으로 저장되어 있고, 다른 형식은 최초 5GB를 Parquet으로 자동 변환
- 데이터셋 분할(split)과 설정(config)에 따라 쿼리 가능한 뷰(view) 자동 생성
- PostgreSQL과 유사한 DuckDB 전체 SQL 문법 지원: 정규표현식, 리스트, JSON, 임베딩 등 내장 함수 포함
- 쿼리 결과를 Parquet으로 내보내기 및 공개 데이터셋의 결과를 링크로 공유 가능하도록 구현
Impact
OpenCo7/UpVoteWeb 데이터셋(1,260만 행)에 대한 단순 필터 쿼리가 3초 이내에 완료됨.
Key Takeaway
브라우저 기반 WASM 데이터베이스를 활용하면 서버 인프라 없이도 대규모 데이터셋(수천만 행)에 대한 즉각적인 SQL 조회 환경을 제공할 수 있으며, 메모리 제약(~3GB)과 DuckDB WASM의 일부 미지원 기능(예: hf:// 프로토콜)을 고려한 설계가 필요하다.
실천 포인트
데이터 플랫폼이나 데이터마트 제공하는 팀에서 대용량 Parquet 데이터셋에 대한 임시 조회 기능이 필요할 때, DuckDB WASM을 활용하면 백엔드 서버 구축 없이 브라우저 기반의 SQL 콘솔을 구현할 수 있으며, 쿼리 결과를 1회 클릭으로 내보내기 가능한 UX를 제공할 수 있다.