sql.js-httpvfs – SQLite-DBs auf GitHub Pages hosten
(github.com)-
So nutzt man eine vollständige SQLite-Datenbank auf einer statischen Webseite ohne Backend
-
SQLite wird mit emscripten zu WASM kompiliert und
sql.jsals JS-Wrapper verwendet
→ sql.js ist speicherbasiert, daher wurde es so angepasst, dass die DB per HTTP-Range-Requests geladen wird (httpvfs)
→ Um die Anfragen klein zu halten, wird die Seitengröße auf 1 KiB gesetzt (Standard: 4 KiB)
-
Da die DB im Browser läuft, kann man auch das DOM wie eine Datenbank verwenden
-
Funktioniert außer auf GitHub auch auf GitLab Pages, Netlify und jeder anderen statischen Seite
1 Kommentare
Als SQL-Datenbankimplementierung, die im Web laufen kann, gibt es auch GlueSQL, das in Rust geschrieben ist. :)
GlueSQL - https://github.com/gluesql/gluesql
Es kann auch wie eine eingebettete SQL-Datenbank ähnlich wie SQLite verwendet werden.
Es ist außerdem möglich, GlueSQL in Form einer Bibliothek zu verwenden, um eine neue SQL-Datenbank zu erstellen. In diesem Fall müssen nur einige der von GlueSQL bereitgestellten Storage-Traits implementiert werden.
Derzeit gibt es neben dem grundlegenden Referenz-Storage noch einige weitere Anwendungsfälle.
Eine als WASM kompilierte SQL-Datenbank, die direkt im Web ausgeführt werden kann.
Derzeit werden drei verschiedene Storages unterstützt.
Arbeitsspeicher
HTML5 Local Storage
HTML5 Session Storage
(Aktuell wird allerdings eine etwas ältere Version von GlueSQL verwendet.)
Unter Nutzung des Vorteils, dass sich beliebige Custom Storages anbinden lassen, ist GlueSQL Sheets ein SQL-Datenbankservice, der Google Spreadsheets als Storage verwendet.
Wenn SQL über die bereitgestellte API ausgeführt wird, werden alle Daten aus dem entsprechenden Google Spreadsheet gelesen und dorthin geschrieben.