SQLite – Was ist das?

Was ist SQLite? Klar, eine Datenbank!

Ich möchte euch hiermit SQLite kurz vorstellen. Ich habe zwar selber noch nicht wirklich mit diesem RDMBS gearbeitet, habe sie aber installiert und einige Tests gemacht. Diese haben mich so überzeugt, dass ich euch die Grundidee mit diesem Beitrag näher bringen möchte.

Einführung SQLite

Der ganze Fokus von SQLite liegt auf Geschwindigkeit, Einfachheit und es soll klein sein. SQLite versucht keine Konkurrenz zu Produkten wie Oracle oder MySQL zu sein, sondern es versucht eine bessere alternative für fopen() darzustellen (oder natürlich auch für Produkte, welche Oracle/MySQL usw. einsetzen, welche aber gar nicht so viel Komfort/Komplexität benötigen).

Folgende Merkmale zeigt SQLite

  • Einfach
  • Schnell
  • Klein
  • pro Datenbank nur 1 File!
  • bietet viel Funktionalität, die andere RDMBS auch haben wie – Tables/Views/Triggers/Subselects…

SQLite ist nicht geeignet für

  • Schreibzugriffe von mehreren Personen gleichzeitig
  • sehr hoher Dataload
  • Client Server Architektur

Installation und Betrieb von SQLite

  1. Download eines Clients z.B. Konsole / SQLite Database Browser (ganz einfach, multi platform) / SQLite2009 Pro Enterprise Manager (Freeware, Komfortable, Windows)
  2. Auf Konsole DB erzeugen mittels –  sqlite3.exe test.db – falls die DB existiert, wird sie geöffnet, ansonsten neu erzeugt (mit den GUI Tools, kann alles im GUI administriert werden)
  3. SQL Befehle absetzen (DML, DDL)

Da die ganze DB nur aus 1 File besteht, ist es dementsprechend ganz einfach, die Daten zu verschieben oder z.B. per Mail zu versenden usw.

Benutzung SQLite mit PHP

Der Zugriff mit PHP auf die DB ist genauso einfach, wie auf andere Datenbanken. Hier noch ein Beispiel.

$db = new SQLite3('test.db');
$result = $db->query('SELECT * FROM tbl2');

while($user = $result->fetchArray(SQLITE3_ASSOC)){
  var_dump($user);
}

Quellen

2 Responses

  1. Ja, das stimmt alles. Aber mir hat sich bis heute nie ein tatsächlicher Anwendungsfall geboten, ich hatte SQLite mal in einem “Gallery” Projekt eingesetzt, als Konfigurationsspeicher. Auch aus dem einfachen Grund, einmal ein bisschen rum zu spielen. Letztlich hab ich SQLite für den Anwendungsfall wieder verworfen, da es einfach recht viel Code für wenig Ergebnis wurde.

    Beispiel Anwendungsfälle?

  2. Das Einsatzgebiet heutzutage ist:
    Betriebssysteme/Applikationen für Mobiltelefone
    (Web)Applikationen, wo nur 1 Person darauf zugreift z.B.
    Firefox Plugins / Firefox Bookmarks / Apple Mailprogramm / ADOBE Air usw.

    Ich glaube das Haupteinsatzgebiet sind Single User Tools – aber ehrlich gesagt, habe ich da insgesamt zu wenig recherchiert. Ich finde einfach die Idee sehr interessant 🙂

    Das Opensource Projekt, das ich starten werde, ist eine Desktop Applikation in einem Browser, welche sehr warscheinlich eine Kombination aus PHP/JS/SQLite sein wird. Aber wir sind noch am überlegen, wie die Umsetzung genau sein könnte 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *