10 ポイント 投稿者 xguru 2021-05-10 | 1件のコメント | WhatsAppで共有
  • バックエンドのない静的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件のコメント

 
panarch 2021-05-10

Web上で動かせる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にコンパイルされ、Web上で直接動かせるSQLデータベースです。

現在は3種類の異なるストレージをサポートしています。

  • メモリ

  • HTML5ローカルストレージ

  • HTML5セッションストレージ

(現在は少し古いバージョンのGlueSQLを使っています。)

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

カスタムストレージに何でもつなげられるという利点を生かして、GlueSQL SheetsはGoogleスプレッドシートをストレージとして使うSQLデータベースサービスです。

提供されるAPIを通じてSQLを実行すると、すべてのデータは対応するGoogleスプレッドシートから読み書きされます。