Dla jednej z naszych platform Insights planujemy generować podsumowujące bazy danych SQLite3 w tle i umożliwić ich renderowanie w przeglądarce jako wykresach. Obecnie zamierzamy uzyskać punkt końcowy po stronie serwera, który będzie obsługiwał wymóg dotyczący danych.Jaki jest najlepszy sposób, aby przeczytać Sqlite3 bezpośrednio w przeglądarce przy użyciu Javascript?
Chcemy zoptymalizować to dalej, całkowicie eliminując punkt końcowy po stronie serwera. Jesteśmy w porządku (z punktu widzenia bezpieczeństwa), aby odsłonić SQLite3 bezpośrednio na S3 i mieć moduł javascript odczytać i wygenerować wykresy.
Pliki SQLite3 mają być dość małe - być może 4-6 kolumn i być może 10-500 wierszy danych, a wszystkie z nich zawierają tylko jedną tabelę. Testy wskazują rozmiary plików mniejsze niż 15 KB. Nie zamierzamy pisać ani edytować SQLite3 w przeglądarce. Nie musimy buforować go w przeglądarce jako formularza WebSQL lub IndexedDB, ale możemy z nich korzystać, jeśli jest to potrzebne.
Z moich wyszukiwań internetowych nie można znaleźć biblioteki JavaScript, która może odczytać plik SQLite3 i zapytać go o wyniki. Jeśli znasz jakieś biblioteki javascript, które mogą to zrobić, daj nam znać.
Z drugiej strony, jeśli myślisz, że nie powinniśmy robić tego z jakiegokolwiek powodu, to wyślijcie je również jako komentarze/odpowiedzi, ponieważ jest to coś, co próbujemy po raz pierwszy i wydaje się mało -of-the-box, więc opinie mile widziane!
To nie może być zrobione przez JavaScript bezpośrednio - jednak WebSQL/IndexedDB * siła * użycie SQLite pod spodem; ale to szczegół implementacji. (SQLite * wymaga * wewnętrznego dostępu do systemu plików [local] w większości przypadków.) –
.. i nie mogę sobie wyobrazić * pełnego przepisania * silnika bazy danych, który potrafi odczytać dane SQLite w JavaScript (np. W danych pamięci tylko) byłoby bardzo praktyczne, ale [byłem zaskoczony wcześniej] (http://bellard.org/jslinux/). –
@pst dotyczące twojego pierwszego komentarza, tak, wiem, że mogą używać SQLite pod spodem, ale z naszej strony, konieczność przeniesienia go z serwera i zsynchronizowania go z WebSQL/IndexedDB wydaje się zbyt dużym kłopotem i utrzymaniem w długim biegać. – Shreeni