AI 요약
SQLite 3.31.0 버전부터 추가된 generated columns 기능을 활용하면 SQLite를 경량 문서 데이터베이스로 사용할 수 있다. JSON 데이터를 삽입할 때 자동으로 필드를 추출하고 인덱싱할 수 있으며, 잘못된 JSON은 삽입 시점에 오류를 발생시켜 데이터 무결성을 보장한다. 웹훅 데이터 저장 등 유연한 스키마가 필요한 경량 애플리케이션에 유용한 접근법이다.
핵심 포인트
- SQLite 3.31.0(2020년 1월 22일 릴리즈)부터 generated columns 기능 지원
json_extract()함수와 VIRTUAL 컬럼을 결합해 JSON 필드를 자동 추출·인덱싱 가능- 잘못된 JSON은 INSERT 시점에 "malformed JSON" 오류로 차단
- NOT NULL 제약 조건을 추가해 필수 필드 존재를 강제할 수 있음
- ALTER TABLE로 기존 테이블에 새 컬럼과 인덱스를 동적으로 추가 가능
향후 전망
- 임베디드 환경에서 MongoDB나 Elastic과 같은 별도 문서 DB 없이도 경량 문서 저장소 구현 가능
- 웹훅 수신 데이터 등 비정형 JSON 데이터 처리에 SQLite 활용 사례가 늘어날 전망
출처:dgl.cx (David Leadbeater)
