Datenbankserver für Webbrowser

447
Cody Rutscher

Welcher Datenbankserver wird am häufigsten für Webbrowser wie Chrome, Firefox, Opera oder Safari verwendet? Vielleicht verstehe ich Webbrowser nicht, aber ich gehe davon aus, dass sie einen Datenbankserver haben müssen, wie eine Webanwendung einen Datenbankserver hat.

2

1 Antwort auf die Frage

5
grawity

Ich gehe davon aus, dass sie einen Datenbankserver haben müssen, genau wie eine Webanwendung einen Datenbankserver hat.

Was ist die Grundlage für diese Annahme? Webbrowser und Webanwendungen sind andere Dinge und machen unterschiedliche Dinge. Daher teilen sie die Anforderungen nicht automatisch.

Sie haben richtig vermutet, dass Browser Datenbanken verwenden können und häufig verwenden - dies tun sie jedoch nicht, "weil Webanwendungen eine Datenbank verwenden". Wenn sie eine Datenbank verwenden, haben sie einen bestimmten Bedarf : langfristige, durchsuchbare Datenhaltung. Das ist es.


Für viele Webanwendungen sind die Anforderungen an eine Datenbank offensichtlich: Wenn sie über Benutzerkonten verfügen, müssen sie diese Konten irgendwo speichern. Wenn sie Seiten haben, die vom Benutzer bearbeitet werden können, müssen sie den Seiteninhalt irgendwo speichern. und so weiter. Muss eine Webanwendung eine Datenbank haben? Nur wenn Daten gespeichert werden müssen.

Was würde ein Webbrowser dagegen speichern? Im Allgemeinen wird die webapp nicht ausgeführt - es werden nur die HTML-Seiten dargestellt, die eine webapp sendet. Die meisten Interna einer WebApp, einschließlich der Verwendung einer Datenbank, werden vom Browser vollständig ausgeblendet.

Stattdessen werden Datenbanken hauptsächlich in Webbrowsern zum Implementieren der eigenen Funktionalität des Browsers verwendet: zum Speichern des Browserverlaufs oder Ihrer Lesezeichen oder Cookies. (Und ja, in diesen Tagen eine Webseite könnte fragen Sie den Browser, einige Dinge über JavaScript (IndexedDB) zu speichern - aber das ist nicht die primäre Speicher der meisten Webapps.)


Was verwendet ein Webbrowser oder eine andere Desktopanwendung? Nun, es keine Datenbank verwenden Server - es verwendet eine eingebettete Datenbank .

Datenbanken benötigen kein dediziertes "Server" -Programm. Datenbankserver sind vorhanden, um Multi-User-Funktionen (Authentifizierung, Berechtigungsprüfung, Replikation) zu implementieren. Wenn sich die Datenbank jedoch vollständig in Ihrem Besitz befindet und recht klein ist (z. B. nur Ihre Weblesezeichen), sind diese Funktionen nicht erforderlich, und der tatsächliche Speicher kann mithilfe einer einfachen lokalen Bibliothek implementiert werden.

Wenn Sie vollständige SQL benötigen, ist SQLite wahrscheinlich die beliebteste Datenbank mit einer einzigen Datei . Sowohl Firefox als auch Chrome verwenden SQLite zum Speichern von Lesezeichen. Geschichte; Zertifikate; Präferenzen; und so weiter.

Bei einfachen Nicht-SQL- "Schlüssel- / Wert" -Datenbanken war Berkeley DB die beliebteste Wahl - obwohl aufgrund von Lizenzierungsproblemen und etwas veraltetem Design oftmals festgestellt wurde, dass sie durch LMDB und LevelDB (oder durch dieselbe SQLite) ersetzt wurde.

Beispiel: Wenn Webseiten die JavaScript IndexedDB-API verwenden, speichert Chrome die Daten in einer LevelDB-Datenbank. Internet Explorer verwendet Windows ESENT. und Firefox verwendet SQLite.

(Es gibt viele anderen eingebetteten Datenbanktypen - der Wikipedia - Artikel I verknüpft zu früher hat eine lange Liste - aber sie sind bei weitem nicht so populär sogar Windows selbst, die mit dem ESENT - Datenbank - Engine kommt. Eingebaut, kann mit SQLite gefangen wird bei mal.)

Schließlich sind viele Arten von Daten klein genug, dass sie nicht eine vollständige Datenbank - Engine braucht überhaupt und direkt in genommen werden konnte Dateien . Viele Browser speichern Cookies in textuellen "Cookie Jar" -Dateien - ein Cookie pro Zeile, eine Datei pro Domain. Mozilla / Netscape wurde zum Speichern von Lesezeichen in Form einer einzigen Fast-HTML-Webseite verwendet. Die moderne Wahl besteht im Allgemeinen darin, die Daten vor dem Speichern mit JSON zu formatieren.


Wie ich bereits erwähnt habe, ist dies nichts Besonderes für Webbrowser. Sie verwenden nur eine Datenbank, weil sie Daten speichern müssen. Das Gleiche gilt für Mail-Clients, Player, Spiele usw., die häufig eine eingebettete Datenbank enthalten, in der Dinge gespeichert werden können.

(Vergessen Sie nicht, dass die Windows - Registrierung, wo die meisten Programme ihre Einstellungen zu speichern, ist auch ein Schlüssel / Wert - Datenbank, wie das Dateisystem selbst.)