IndexedDB ist das eingebaute Speichersystem des Browsers für grosse, strukturierte Daten. Hier erfährst du, was es ist, wie es funktioniert und wann Websites es statt Local oder Session Storage nutzen.
Hast du schon einmal eine Web-App genutzt, die weiterlief, obwohl dein Internet ausfiel? Oder eine, die sich so schnell anfühlte wie eine installierte App auf deinem Smartphone, mit grossen Datenmengen, die sofort laden? Dahinter steckt meist etwas deutlich Leistungsfähigeres als die einfachen Browser-Speicher, die wir bisher behandelt haben. Dieses Etwas ist IndexedDB.
IndexedDB ist die leistungsfähigste Speicherart im Browser und liegt eine Stufe über dem, wofür Local Storage und Session Storage gedacht waren. Die meisten Betreiber von Unternehmenswebsites kommen nie direkt damit in Berührung. Wenn du es verstehst, siehst du aber das ganze Bild dessen, was Browser speichern können.
Was ist IndexedDB?
IndexedDB ist eine Low-Level-Datenbank, die im Browser eingebaut ist. Anders als Local Storage und Session Storage, die einfache Schlüssel-Wert-Paare aus Text speichern, kann IndexedDB strukturierte Daten speichern: Objekte, Arrays, Dateien und Binärdaten. Sie ist durchsuchbar, indexierbar und kann weit mehr Daten speichern als die anderen Browser-Speicherarten.
Der Name verrät, wie sie arbeitet. Sie nutzt Indizes, also eine Art Nachschlagetabellen, um gespeicherte Einträge schnell zu finden, ohne alles durchsuchen zu müssen. So lassen sich grosse Mengen strukturierter Informationen praktisch im Browser selbst speichern und abrufen.
Wie unterscheidet sich IndexedDB von anderen Browser-Speichern?
Local Storage speichert kleine Textwerte und behält sie unbegrenzt. Session Storage macht dasselbe, aber nur für die aktuelle Tab-Sitzung. Beide sind einfach und begrenzt. IndexedDB unterscheidet sich grundlegend in Umfang und Leistung.
Ein Hauptunterschied ist die Speicherkapazität. Local Storage ist meist auf 5 bis 10 Megabyte begrenzt, IndexedDB kann je nach Browser und Gerät Hunderte Megabyte oder mehr speichern. Es speichert auch komplexe Datenstrukturen direkt, nicht nur reinen Text. Und es unterstützt Abfragen: Die Website kann gespeicherte Einträge durchsuchen und filtern, statt nur einen Wert über seinen genauen Schlüssel abzurufen.
Wofür nutzen Websites IndexedDB?
Offline-Funktionen
Web-Apps, die ohne Internetverbindung funktionieren müssen, nutzen IndexedDB, um Daten lokal auf dem Gerät zu speichern. Eine Notiz-App, ein Projektmanagement-Tool oder ein E-Mail-Programm kann Einträge in IndexedDB sichern, sodass der Besucher auch offline Inhalte lesen, erstellen und bearbeiten kann. Die Änderungen werden mit dem Server abgeglichen, sobald die Verbindung wieder steht.
Grosse Datensätze im Browser
Anwendungen mit grossen Datenmengen, etwa Karten, komplexe Filter oder grosse Produktkataloge, können diese Daten mit IndexedDB lokal zwischenspeichern. So muss die App seltener Daten vom Server holen, und das Erlebnis wird für den Nutzer deutlich schneller.
Dateispeicherung
IndexedDB kann Dateien direkt im Browser speichern. Das ist nützlich für Apps, in denen Nutzer Inhalte hochladen oder erzeugen, die über mehrere Sitzungen hinweg verfügbar sein müssen, bevor sie an den Server gehen.
Nutzen die meisten Websites IndexedDB?
Nein. IndexedDB wird von komplexen Webanwendungen genutzt, nicht von typischen Unternehmenswebsites. Eine Marketing-Seite, eine Dienstleistungs-Website, ein Onlineshop und die meisten inhaltsbasierten Seiten brauchen es nicht. Ihren Speicherbedarf decken Cookies, Local Storage und Session Storage gut ab.
Bei deiner eigenen Website trifft die Plattform, auf der du baust, alle Speicherentscheidungen. Der Website-Builder von WEMASY nutzt automatisch die passende Speicherart für jede Funktion. Einen direkten Vergleich aller Browser-Speicherarten und wie sie zusammenpassen, findest du in Arten von Browser-Speicher.
Häufig gestellte Fragen
Ist IndexedDB eine echte Datenbank?
Es ist eine Datenbank in dem Sinn, dass sie strukturierte Daten speichert, Indexierung unterstützt und Abfragen erlaubt. Sie unterscheidet sich aber stark von einer serverseitigen Datenbank. Sie läuft komplett im Browser auf dem Gerät des Besuchers, nicht auf einem entfernten Server. Sie ist für clientseitige Speicherung gedacht, nicht für die gemeinsame Datenverwaltung mit mehreren Nutzern, die Server-Datenbanken übernehmen. Mit dem Website-Builder von WEMASY richtest du das direkt auf deiner Website ein.
Wie viele Daten kann IndexedDB speichern?
Deutlich mehr als Local oder Session Storage. Die meisten Browser erlauben IndexedDB, einen grossen Teil des verfügbaren Speicherplatzes zu nutzen, oft Hunderte Megabyte oder mehr. Der Browser fragt den Nutzer eventuell um Erlaubnis, wenn eine Website sehr grosse Mengen speichern will. Das genaue Limit hängt vom Browser ab und davon, wie viel freier Speicher auf dem Gerät vorhanden ist.
Bleiben IndexedDB-Daten erhalten, wenn der Browser geschlossen wird?
Ja. IndexedDB-Daten sind standardmässig dauerhaft, ähnlich wie bei Local Storage. Sie bleiben im Browser, bis der Nutzer seine Browserdaten löscht oder die Website sie entfernt. Diese Dauerhaftigkeit macht IndexedDB geeignet für offlinefähige Anwendungen, in denen Daten zwischen Sitzungen erhalten bleiben müssen.
Ist IndexedDB sicher?
IndexedDB ist pro Website getrennt, eine Website kann also nicht auf die Daten einer anderen zugreifen. Wie andere Browser-Speicherarten ist es aber für Skripte zugänglich, die auf der Seite laufen. Sensible Daten wie Passwörter, Zahlungsdaten und persönliche Informationen sollten nie in IndexedDB gespeichert werden. Es eignet sich für Anwendungsdaten und grosse Inhalte, ersetzt aber keine sichere serverseitige Speicherung.
Können Besucher ihre IndexedDB-Daten löschen?
Ja. Löscht jemand Browserdaten in den Browsereinstellungen, wird IndexedDB zusammen mit Cookies, Local Storage und Cache entfernt. Besucher können es auch über die Entwicklertools löschen. Anwendungen, die für wichtige Daten auf IndexedDB setzen, sollten das einplanen und Daten mit einem Server abgleichen, sobald eine Verbindung besteht, damit die lokalen Daten nie die einzige Kopie sind.
Muss ich IndexedDB kennen, um eine Website zu erstellen?
Nein. IndexedDB ist ein Werkzeug für Entwickler, die komplexe Webanwendungen bauen. Als Website-Betreiber auf einer Plattform kommst du nie direkt damit in Berührung. Dein Website-Builder trifft die Entscheidungen zum Browser-Speicher im Hintergrund. IndexedDB zu kennen hilft, ein vollständiges Bild davon zu bekommen, wie Browser funktionieren, hat aber keinen praktischen Einfluss darauf, wie du deine Website im Alltag betreibst.