sql.js-httpvfs - GitHub PagesでSQLite DBをホスティングする
(github.com)-
バックエンドのない静的WebページでフルバージョンのSQLite DBを使う方法
-
SQLiteをemscriptenでWASMにコンパイルし、sql.jsをJSラッパーとして使用
→ sql.jsはメモリベースのため、HTTP RangeリクエストでDBを読み込むように変更(httpvfs)
→ リクエストを小さくするため、pageを1 KiBに設定(デフォルトは4 KiB)
-
DBはブラウザ上で実行されるため、DOMをDBのように使うことも可能
-
GitHub以外にも、GitLab Pages、Netlifyなど、どの静的ページでも利用可能
1件のコメント
Web上で動かせるSQLデータベース実装としては、Rustで書かれたGlueSQLもあります。 :)
GlueSQL - https://github.com/gluesql/gluesql
SQLiteのような組み込みSQLデータベースのように使うことも可能です。
また、新しいSQLデータベースを作るために、ライブラリの形でGlueSQLを利用することもできます。この場合は、GlueSQLが提供するいくつかのストレージtraitを実装すれば済みます。
現在、基本のリファレンスストレージ以外にもいくつかのユースケースがあります。
WASMにコンパイルされ、Web上で直接動かせるSQLデータベースです。
現在は3種類の異なるストレージをサポートしています。
メモリ
HTML5ローカルストレージ
HTML5セッションストレージ
(現在は少し古いバージョンのGlueSQLを使っています。)
カスタムストレージに何でもつなげられるという利点を生かして、GlueSQL SheetsはGoogleスプレッドシートをストレージとして使うSQLデータベースサービスです。
提供されるAPIを通じてSQLを実行すると、すべてのデータは対応するGoogleスプレッドシートから読み書きされます。