Show GN: GitHub 저장소를 서버리스 RDB처럼 쓰는 GitDB를 만들었습니다
요약
GitHub 저장소를 서버리스 RDB처럼 활용할 수 있는 TypeScript 라이브러리 GitDB를 소개합니다. Git의 커밋 이력을 데이터 변경 이력으로 사용하여 데이터 저장소 역할을 수행합니다.
핵심 포인트
- GitHub 저장소를 백엔드 데이터베이스로 활용
- SQL 스타일의 쿼리(SELECT, JOIN 등) 및 트랜잭션 지원
- 저빈도 앱, 데모, 내부 도구 및 에이전트용에 최적화
- Git history를 통한 데이터 변경 이력 관리 가능
GitDB라는 TypeScript 라이브러리를 만들고 있습니다.
GitHub 저장소를 backend로 쓰는 서버리스 RDB식 데이터베이스입니다. 데이터는 repo 안에 manifest, mutation log, snapshot 같은 파일로 커밋되고, Git history가 그대로 데이터 변경 이력이 됩니다.
지원하는 것들:
- table API: insert, upsert, select, deleteWhere
- SQL식 query: SELECT, JOIN, GROUP BY, aggregate 등
- index 기반 select
- transaction
- plaintext / encrypted storage
- browser export: extension, static app에서 사용 가능
- Node/CLI 지원
목표는 Postgres 같은 일반 DB를 대체하는 게 아니라, 익스텐션/정적 앱/에이전트/작은 툴에서 “DB 서버 없이 GitHub repo 하나를 데이터 저장소로 쓰는” 선택지를 만드는 것입니다.
GitHub API latency와 rate limit이 있어서 hot OLTP나 realtime multi-writer에는 맞지 않습니다. 대신 저빈도 앱 데이터, demo, internal tool처럼 변경 이력과 배포 단순성이 더 중요한 경우를 생각하고 만들었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기