Hoppa till innehåll

SQLite

En databas som ryms i en enda vanlig fil och inte kräver någon separat databasserver.

Kategori
Databaser

Enkel förklaring

SQLite är en databas som ryms i en enda fil. De flesta databaser kräver ett eget program som körs hela tiden, en databasserver. Med SQLite behövs inget sådant: programmet som använder databasen läser och skriver filen direkt.

Det gör SQLite enkel att använda, lätt att flytta och lätt att säkerhetskopiera.

Teknisk förklaring

SQLite är ett programbibliotek som byggs in i det program som använder det. Det förstår SQL och stöder transaktioner, precis som större databaser. Hela databasen ligger i en vanlig fil.

En SQLite-fil känns igen på sina första byte, texten SQLite format 3, inte på filnamnet. Filen kan heta .db, .sqlite, .sqlite3 eller sakna ändelse. Ändelsen är bara en vana.

SQLite tillåter många samtidiga läsare men bara en skrivare åt gången.

Praktiskt exempel

SQLite är troligen världens mest använda databas. Enligt SQLites egen dokumentation finns den i alla Android-telefoner och iPhones och i webbläsarna Firefox, Chrome och Safari, som använder den för att spara till exempel historik och inställningar.

Utvecklare använder ofta SQLite i små tjänster och för att prova idéer, eftersom det inte behövs någon server.

När och varför används det?

SQLite passar bra när ett program behöver en databas för sig själv: i appar, i små webbtjänster och på enheter utan egen databasserver. SQLites egen dokumentation säger att den inte konkurrerar med stora databasservrar, utan med att spara data i vanliga filer.

Den passar sämre när många datorer ska skriva till samma databas samtidigt.

Rekommendation: säkerhetskopiera SQLite med verktyg som är gjorda för det, och kopiera inte filen medan programmet skriver i den.

Vanliga missförstånd

  • “SQLite är en leksaksdatabas.” Nej. Den är mycket väl testad och används i stora system, så länge användningen passar dess styrkor.
  • “Alla .db-filer är SQLite, och SQLite-filer måste heta .db.” Inget av det stämmer. Ändelsen avgör ingenting.
  • “Man kan kopiera filen när som helst.” Kopieras filen medan programmet skriver kan kopian bli trasig, enligt SQLites dokumentation om hur databaser kan förstöras.

Relaterade begrepp