Für eine unserer Insights-Plattform planen wir, zusammenfassende SQLite3-Datenbanken im Hintergrund zu generieren und diese im Browser als Diagramme darzustellen. Gegenwärtig beabsichtigen wir einen serverseitigen Endpunkt, der die Datenanforderung bedienen wird.Was ist der beste Weg, um Sqlite3 direkt im Browser mit Javascript zu lesen?
Wir versuchen, dies weiter zu optimieren, indem wir den serverseitigen Endpunkt vollständig eliminieren. Uns ist es gut (aus Sicherheitsgründen), die SQLite3 direkt auf S3 verfügbar zu machen und ein JavaScript-Modul zu lesen und die Diagramme zu generieren.
Die SQLite3-Dateien werden zu recht klein erwartet - vielleicht 4-6 Spalten und vielleicht 10-500 Zeilen von Daten, und alle von ihnen enthalten nur eine Tabelle. Testläufe zeigen Dateigrößen von weniger als 15 KB an. Wir beabsichtigen nicht, SQLite3 im Browser zu schreiben oder zu manipulieren. Wir müssen es nicht im Browser als WebSQL- oder IndexedDB-Formular zwischenspeichern, aber wir sind in Ordnung, wenn Sie es verwenden, wenn das erforderlich ist.
Von meinen Web-Suchen können wir keine Javascript-Bibliothek finden, die eine SQLite3-Datei lesen und nach Ergebnissen abfragen kann. Wenn Sie JavaScript-Bibliotheken kennen, die das können, lassen Sie es uns bitte wissen.
Auf der anderen Seite, wenn Sie denken, dass wir das aus irgendeinem Grund nicht tun sollten, dann werfen Sie sie bitte als Kommentare/Antworten auch, weil dies etwas ist, das wir zum ersten Mal versuchen und ein wenig heraus zu sein scheint -of-Box, so Feedback willkommen!
Dies kann nicht getan werden, indem du JavaScript direkt verwenden - jedoch WebSQL/IndexedDB * könnte * Verwendung SQLite unterhalb; aber das ist ein Implementierungsdetail. (SQLite * benötigt in den meisten Fällen einen * prozessintegrierten Zugriff auf ein [lokales] Dateisystem.) –
.. und ich kann mir ein * vollständiges Umschreiben * einer Datenbank-Engine nicht vorstellen, die SQLite-Daten in JavaScript lesen kann (z. B. in Speicherdaten) nur) wäre sehr praktisch, aber [ich war schon vorher überrascht] (http://bellard.org/jslinux/). –
@pst in Bezug auf Ihren ersten Kommentar, ja, ich weiß, dass sie SQLite darunter verwenden, aber von unserer Seite, es vom Server zu bringen und mit einem WebSQL/IndexedDB zu synchronisieren scheint zu viel Mühe und Tugh in der langen zu halten Lauf. – Shreeni