# SQLite-JS - SQLite에 JavaScript 기능을 추가해주는 확장

> Clean Markdown view of GeekNews topic #21304. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=21304](https://news.hada.io/topic?id=21304)
- GeekNews Markdown: [https://news.hada.io/topic/21304.md](https://news.hada.io/topic/21304.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2025-06-06T09:31:01+09:00
- Updated: 2025-06-06T09:31:01+09:00
- Original source: [github.com/sqliteai](https://github.com/sqliteai/sqlite-js)
- Points: 9
- Comments: 0

## Summary

SQLite에 **JavaScript 함수 확장**을 도입하여 사용자 정의 함수, 집계, 윈도우 연산, 정렬 로직을 SQL 쿼리 내에서 직접 구현할 수 있습니다. 이를 통해 **텍스트 가공**, **고급 통계**, **커스텀 정렬** 등 복잡하고 다양한 데이터 처리 시나리오를 JavaScript 생태계를 활용하여 간단하게 해결이 가능합니다.

## Topic Body

- SQLite DB에서 **JavaScript**로 사용자 정의 함수, 집계, 윈도우 함수, 정렬 방식(collation)등을 구현할 수 있는 확장 도구  
  - SQL로 표현하기 어려운 로직도 **JavaScript 코드로 직접 등록·실행**할 수 있음  
- 기존 SQL의 한계를 넘어, **텍스트 가공·수식 연산·통계·특수 집계·자연스러운 정렬 등**을 JavaScript로 간단히 구현해 다양한 데이터 처리 시나리오에 활용 가능  
- 확장 모듈 로딩만으로 바로 사용 가능하며, **js_eval**로 쿼리 내에서 JavaScript 코드 직접 실행, **사용자 정의 함수 동기화**로 분산 클러스터 환경에서도 동일하게 동작  
- **함수·집계·윈도우·정렬 로직을 SQL에서 동적으로 생성/수정**할 수 있어, 복잡한 비즈니스 로직, 데이터 분석, 통계 처리에 매우 효과적  
- **타임존·로케일·커스텀 정렬, 고급 통계, 실시간 분석 등** 기존 SQLite로는 불가능한 고급 처리를 JavaScript 생태계를 통해 실현 가능  
  
### 주요 함수들  
  
- **Scalar Functions**: 각 행마다 하나의 결과를 반환, 데이터 가공/계산에 활용 (예: 생일로 나이 계산, 이메일 도메인 추출)  
- **Aggregate Functions**: 여러 행을 처리해 하나의 값을 반환 (예: 표준편차, 중앙값 등 커스텀 집계)  
- **Window Functions**: 데이터 집합 전체에 접근 가능, 슬라이딩·누적 통계, 이동 평균 등 복잡한 윈도우 연산 지원  
- **Collation Sequences**: JavaScript로 커스텀 정렬 알고리듬 구현, 로캘/자연어/대소문자 구분 없는 정렬 등 가능  
- **JavaScript Evaluation**: SQL 쿼리 내에서 JavaScript 코드 즉시 실행, 임의 연산·데이터 변환 등 활용  
- **분산 환경 동기화**: sqlite-sync와 연동하면 생성한 JS 함수가 클러스터/오프라인 환경 모두 자동 동기화

## Comments



_No public comments on this page._
