# sql.js-httpvfs - GitHub Pages에서 SQLite DB 호스팅 하기

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

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=4226](https://news.hada.io/topic?id=4226)
- GeekNews Markdown: [https://news.hada.io/topic/4226.md](https://news.hada.io/topic/4226.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2021-05-10T09:49:47+09:00
- Updated: 2021-05-10T09:49:47+09:00
- Original source: [github.com](https://github.com/phiresky/sql.js-httpvfs)
- Points: 10
- Comments: 1

## Topic Body

- 백엔드 없는 스태틱 웹페이지에서 풀버전 SQLite DB 사용하는 방법

- SQLite를 emscripten 이용해서 WASM으로 컴파일하고 sql.js를 JS Wrapper로 사용

ㅤ→ sql.js는 메모리 기반이어서 HTTP Range 요청으로 DB를 읽어오도록 변경(httpvfs)

ㅤ→ 요청을 작게 하기 위해 page를 1 KiB로 설정(기본 4 KiB)

- DB가 브라우저 에서 실행되므로, DOM을 DB처럼 사용도 가능

- GitHub 외에 GitLab Pages, Netlify 등 어떤 스태틱 페이지에서도 가능

## Comments



### Comment 5144

- Author: panarch
- Created: 2021-05-10T16:49:57+09:00
- Points: 6

웹에서 돌릴 수 있는 SQL 데이터베이스 구현체로는 Rust로 작성된 GlueSQL도 있습니다. :)

GlueSQL - https://github.com/gluesql/gluesql

SQLite와 같이 임베디드 SQL 데이터베이스처럼 사용하는 것도 가능하구요.

새로운 SQL 데이터베이스를 만들기 위해 라이브러리 형태로 GlueSQL를 사용하는 것도 가능합니다. 이 경우 GlueSQL 에서 제공하는 몇 가지 스토리지 trait 만 구현하면 됩니다.

현재 기본 레퍼런스 스토리지 외에 몇 가지 사용 사례가 있습니다.

1. GlueSQL.js - https://github.com/gluesql/gluesql-js

WASM 으로 컴파일되어 웹에서 직접 돌릴 수 있는 SQL 데이터베이스 입니다.

현재는 3가지 서로 다른 스토리지를 지원하고 있습니다.

* 메모리

* HTML5 로컬스토리지

* HTML5 세션스토리지

(현재 조금 예전 버전의 GlueSQL을 사용하고 있긴 합니다.)

2. GlueSQL Sheets - https://sheets.gluesql.com

커스텀 스토리지에 어떤 것이든 붙일 수 있다는 장점을 살려서, GlueSQL Sheets는 구글 스프레드시트를 스토리지로 사용하는 SQL 데이터베이스 서비스 입니다.

제공하는 API를 통해 SQL을 실행하면, 모든 데이터는 해당되는 구글 스프레드시트에서 읽고, 쓰여집니다.
