
SQLite
SQLite ist ein kostenloses Programmpaket, mit dem eine App ihre Daten geordnet in einer einzigen Datei auf dem Gerät speichern und durchsuchen kann. Es steckt unsichtbar in fast jedem Smartphone, Browser und Betriebssystem und gilt als eine der am häufigsten eingesetzten Software der Welt.
Fast jedes Programm muss sich Dinge merken: deine Chatnachrichten, deine Lesezeichen, deine Termine. Diese Angaben lassen sich in einer Tabelle ablegen, mit Spalten wie „Name“, „Datum“ oder „Text“. Eine Sammlung solcher Tabellen nennt man eine Datenbank. SQLite ist ein kleines, kostenloses Programmpaket, das genau diese Tabellen verwaltet und Fragen an sie beantwortet, etwa „Zeig mir alle Termine vom Mai“. Der Unterschied zu vielen anderen Lösungen: SQLite läuft nicht auf einem eigenen Rechner im Internet, sondern direkt in der App und speichert alles in einer einzigen Datei auf dem Gerät. Entwickelt wurde es ab dem Jahr 2000 von dem US-Programmierer Richard Hipp, und es darf von jedem frei benutzt werden.
Die vermutlich am häufigsten installierte Datenbank der Welt
SQLite ist deshalb so verbreitet, weil es fast keine Ansprüche stellt. Es besteht im Kern aus einer einzigen Programmdatei von wenigen hundert Kilobyte. Niemand muss einen Server einrichten, ein Passwort setzen oder eine Verbindung ins Netz aufbauen. Ein Entwickler legt die Datei einfach zu seinem Programm und ist fertig.
Das Ergebnis: SQLite steckt in Android und iOS, in Chrome und Firefox, in Windows, in Autos, in Flugzeug-Unterhaltungssystemen und in unzähligen Apps. Die Entwickler schätzen selbst, dass es mehr als eine Billion aktive Kopien gibt. Die meisten Nutzer bemerken davon nie etwas, weil SQLite immer im Hintergrund arbeitet.
Wichtig ist auch die Verlässlichkeit. Der Programmcode wird mit Millionen automatischer Tests geprüft, weil ein Fehler sonst auf Milliarden Geräten Daten zerstören könnte. Außerdem hat sich das Dateiformat seit 2004 nicht grundlegend geändert. Die Entwickler versprechen, dass heutige Dateien noch im Jahr 2050 lesbar sein sollen. Deshalb empfiehlt sogar die US-Nationalbibliothek SQLite als Format zur Langzeitarchivierung.
Eine Datei, viele Tabellen, die Sprache SQL
Eine SQLite-Datenbank ist genau eine Datei, oft mit der Endung .db oder .sqlite. Darin liegen alle Tabellen, alle Zeilen und zusätzliche Verzeichnisse, sogenannte Indizes, die das Suchen beschleunigen. Ein Index funktioniert wie das Stichwortregister hinten in einem Buch: Statt alles durchzulesen, springt das Programm direkt zur richtigen Stelle. Deshalb findet SQLite auch in Tabellen mit Millionen Zeilen eine bestimmte Zeile in Millisekunden.
Gestellt werden die Fragen in SQL, einer seit den 1970er-Jahren gebräuchlichen Abfragesprache. Ein Befehl sieht etwa so aus: SELECT titel FROM lieder WHERE jahr = 2024. Übersetzt heißt das: Gib mir die Titel aller Lieder aus dem Jahr 2024. SQLite liest diesen Satz, plant den schnellsten Weg durch die Tabellen und liefert das Ergebnis zurück.
Eine Besonderheit sind Transaktionen. Damit fasst SQLite mehrere Änderungen zu einem Paket zusammen, das entweder komplett gilt oder komplett verworfen wird. Fällt mitten im Speichern der Akku aus, ist die Datei danach trotzdem in einem sauberen Zustand. Die Grenze liegt beim gleichzeitigen Schreiben: Mehrere Nutzer dürfen lesen, aber nur einer darf zur selben Zeit schreiben. Für eine App auf einem Gerät reicht das mühelos, für eine große Webseite mit tausenden gleichzeitigen Bestellungen nicht. Dort nimmt man Datenbanken wie PostgreSQL oder MySQL, die auf einem eigenen Server laufen.
Wo dir die kleine .db-Datei begegnet
Auf deinem Handy ist SQLite ständig aktiv. Deine WhatsApp-Nachrichten liegen in einer SQLite-Datei, ebenso dein Browserverlauf und deine Passwortliste in Chrome oder Firefox. Wer bei einem Handy-Backup schon einmal Dateien mit der Endung .db gesehen hat, hatte solche Datenbanken vor sich. Auch die Polizei und IT-Forensiker lesen genau diese Dateien aus, wenn sie ein Gerät untersuchen.
In der KI-Welt ist SQLite ebenfalls beliebt. Kleine Werkzeuge, die Texte, Ergebnisse oder Nutzeranfragen protokollieren, nutzen es gern, weil es keinen Server braucht. Und in Wetterdaten-, Statistik- oder Forschungsprojekten wird SQLite verwendet, um große Tabellen weiterzugeben, ohne dass der Empfänger extra Software installieren muss.
Ein häufiger Irrtum ist übrigens, SQLite sei nur eine abgespeckte Spielzeugversion. „Lite“ bezieht sich auf den geringen Aufwand beim Einrichten, nicht auf schwache Leistung. SQLite kann Dateien von mehreren Hundert Gigabyte verwalten und ist beim Lesen oft schneller als ein Server, weil kein Netzwerkweg dazwischenliegt.