10 Punkte von xguru 2021-05-10 | 1 Kommentare | Auf WhatsApp teilen
  • So nutzt man eine vollständige SQLite-Datenbank auf einer statischen Webseite ohne Backend

  • SQLite wird mit emscripten zu WASM kompiliert und sql.js als 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

 
panarch 2021-05-10

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.

  1. GlueSQL.js - https://github.com/gluesql/gluesql-js

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.)

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

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.