Tech News

제목sql.js-httpvfs - GitHub Pages에서 SQLite DB 호스팅 하기2021-05-10 23:05
작성자 Level 10

GitHub - phiresky/sql.js-httpvfs

- 백엔드 없는 스태틱 웹페이지에서 풀버전 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 등 어떤 스태틱 페이지에서도 가능


웹에서 돌릴 수 있는 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을 실행하면, 모든 데이터는 해당되는 구글 스프레드시트에서 읽고, 쓰여집니다.

G
M
T
Text-to-speech function is limited to 200 characters
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)