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을 실행하면, 모든 데이터는 해당되는 구글 스프레드시트에서 읽고, 쓰여집니다.
Detect language Afrikaans Albanian Amharic Arabic Armenian Azerbaijani Basque Belarusian Bengali Bosnian Bulgarian Catalan Cebuano Chichewa Chinese (Simplified) Chinese (Traditional) Corsican Croatian Czech Danish Dutch English Esperanto Estonian Filipino Finnish French Frisian Galician Georgian German Greek Gujarati Haitian Creole Hausa Hawaiian Hebrew Hindi Hmong Hungarian Icelandic Igbo Indonesian Irish Italian Japanese Javanese Kannada Kazakh Khmer Korean Kurdish Kyrgyz Lao Latin Latvian Lithuanian Luxembourgish Macedonian Malagasy Malay Malayalam Maltese Maori Marathi Mongolian Myanmar (Burmese) Nepali Norwegian Pashto Persian Polish Portuguese Punjabi Romanian Russian Samoan Scots Gaelic Serbian Sesotho Shona Sindhi Sinhala Slovak Slovenian Somali Spanish Sundanese Swahili Swedish Tajik Tamil Telugu Thai Turkish Ukrainian Urdu Uzbek Vietnamese Welsh Xhosa Yiddish Yoruba Zulu
Afrikaans Albanian Amharic Arabic Armenian Azerbaijani Basque Belarusian Bengali Bosnian Bulgarian Catalan Cebuano Chichewa Chinese (Simplified) Chinese (Traditional) Corsican Croatian Czech Danish Dutch English Esperanto Estonian Filipino Finnish French Frisian Galician Georgian German Greek Gujarati Haitian Creole Hausa Hawaiian Hebrew Hindi Hmong Hungarian Icelandic Igbo Indonesian Irish Italian Japanese Javanese Kannada Kazakh Khmer Korean Kurdish Kyrgyz Lao Latin Latvian Lithuanian Luxembourgish Macedonian Malagasy Malay Malayalam Maltese Maori Marathi Mongolian Myanmar (Burmese) Nepali Norwegian Pashto Persian Polish Portuguese Punjabi Romanian Russian Samoan Scots Gaelic Serbian Sesotho Shona Sindhi Sinhala Slovak Slovenian Somali Spanish Sundanese Swahili Swedish Tajik Tamil Telugu Thai Turkish Ukrainian Urdu Uzbek Vietnamese Welsh Xhosa Yiddish Yoruba Zulu
Text-to-speech function is limited to 200 characters