SQLite 3.50.1

Lichte, serverloze, ingebedde en autonome database.

Oude Versies

Alle Oude Versies Bekijken

Beschrijving


SQLite is een lichte, open-source relationele database, ontworpen om direct in applicaties te worden ingebouwd, waardoor het een efficiënte oplossing biedt voor gegevensopslag en -beheer zonder de noodzaak van een dedicated server. 

Wat is SQLite?

SQLite is een databasebibliotheek geschreven in C die een volledige, zelfstandige, serverloze en configureerbare relationele SQL-databasemotor implementeert. Het slaat de volledige database (tabellen, indexen, gegevens, enz.) op in één enkel bestand op de schijf, wat de draagbaarheid en het gebruik in verschillende systemen vergemakkelijkt. Gecreëerd door D. Richard Hipp in 2000, wordt SQLite veel gebruikt in applicaties die een lokale database vereisen, zoals mobiele applicaties, embedded systemen, webbrowsers en desktopsoftware.

Hoofdkenmerken

  1. Serverloos:
    • In tegenstelling tot databases zoals MySQL of PostgreSQL vereist SQLite geen apart serverproces. De bibliotheek is direct in de applicatie ingebouwd, die toegang krijgt tot het databasebestand via functieaanroepen. Dit vermindert de overhead en vereenvoudigt de configuratie.
  2. Zelfvoorzienend:
    • SQLite is niet afhankelijk van externe bibliotheken (behalve de standaard C-bibliotheek) en bevat alles wat nodig is om te functioneren. Dit maakt het ideaal voor omgevingen met beperkte bronnen, zoals embedded apparaten.
  3. Eén Bestand:
    • De volledige database, inclusief gegevens, schema's en indexen, wordt opgeslagen in één enkel bestand met de extensie .db of .sqlite. Dit bestand is draagbaar en kan eenvoudig tussen systemen worden gekopieerd of verplaatst, mits compatibel met de architectuur van SQLite.
  4. ACID-transacties:
    • SQLite ondersteunt transacties met ACID-eigenschappen (Atomiciteit, Consistentie, Isolatie, Duurzaamheid), wat betrouwbaarheid garandeert bij schrijf- en leesbewerkingen, zelfs bij storingen (zoals stroomuitval).
  5. Standaard SQL-ondersteuning:
    • SQLite implementeert het grootste deel van de SQL-standaard (SQL92, met extensies), inclusief ondersteuning voor tabellen, indexen, primaire en vreemde sleutels, triggers, views en subquery's. Het heeft echter enkele beperkingen, zoals gedeeltelijke ondersteuning voor ALTER TABLE en gebrek aan ondersteuning voor RIGHT OUTER JOIN en FULL OUTER JOIN.
  6. Dynamische Typing:
    • In tegenstelling tot andere relationele databases, gebruikt SQLite dynamische typing, waardoor een kolom waarden van verschillende types kan opslaan (bijvoorbeeld gehele getallen, teksten of nullen in dezelfde kolom). Het definieert "type-affiniteiten" (zoals INTEGER, TEXT, BLOB) om het opslaan te begeleiden, maar legt geen strikte beperkingen op.
  7. Lichtgewicht en Snel:
    • SQLite is uiterst efficiënt, met een bibliotheekgrootte van ongeveer 700 KB. Het is geoptimaliseerd voor lees- en schrijfoperaties met gematigde gegevensvolumes, met een prestatie die vergelijkbaar of beter is dan andere systemen in scenario's met een lage gelijktijdigheid.
  8. Publiek Domein Licentie:
    • SQLite is openbaar domein, wat betekent dat het vrij kan worden gebruikt in commerciële of open-source projecten zonder licentiebeperkingen.

Interne werking

  • Architectuur:
    • SQLite werkt als een ingebouwde bibliotheek in de applicatie, die directe aanroepen doet om het databasebestand te beheren. Het gebruikt een interne database-engine die een SQL-parser, een query-optimiser en een opslagbeheerder omvat.
    • De opslag is gebaseerd op een efficiënt binair bestandsformaat, dat vaste schijfpagina's (meestal 4 KB) gebruikt om gegevens en indexen in een B+-boomstructuur te organiseren.
  • Gelijktijdigheid:
    • SQLite ondersteunt meerdere verbindingen met dezelfde database, maar met beperkingen. Het gebruikt bestandsslot om gelijktijdigheid te beheren, waarbij slechts één schrijfoperatie tegelijk is toegestaan (serialisatie). Lezingen kunnen gelijktijdig zijn, maar schrijfoperaties blokkeren andere operaties.
    • Vanaf versie 3.7.0 ondersteunt SQLite de WAL-modus (Write-Ahead Logging), die de gelijktijdigheid verbetert door gelijktijdige leesoperaties tijdens schrijfoperaties toe te staan, hoewel het nog steeds beperkt tot slechts één schrijfoperatie per keer.
  • Uitbreidbaarheid:
    • SQLite staat aangepaste uitbreidingen toe, zoals door de gebruiker gedefinieerde functies (UDF's) in C of andere talen, en ondersteunt aanvullende modules, zoals FTS (Full-Text Search) voor geavanceerde tekstzoekopdrachten.

Voordelen

  • Gemakkelijk te Gebruiken: Vereist geen serverconfiguratie of complexe administratie, ideaal voor ontwikkelaars die een eenvoudige oplossing nodig hebben.
  • Draagbaarheid: Het databasebestand kan eenvoudig worden verplaatst of gekopieerd, zonder externe afhankelijkheden.
  • Laag Hulpbronnenverbruik: Verbruikt weinig geheugen en schijfruimte, perfect voor apparaten met beperkte bronnen, zoals smartphones of IoT.
  • Betrouwbaarheid: De ondersteuning voor ACID-transacties garandeert de integriteit van gegevens, zelfs in geval van een storing.
  • Brede Adoptie: Gebruikt op miljarden apparaten, waaronder browsers (Firefox, Chrome), mobiele besturingssystemen (Android, iOS) en applicaties zoals Adobe Lightroom en Skype.

Nadelen

  • Beperkte Gelijktijdigheid: Niet geschikt voor applicaties met een hoge schrijfconcurrentie, zoals webservers met duizenden gelijktijdige gebruikers. Databases zoals PostgreSQL of MySQL zijn in deze gevallen meer geschikt.
  • Schaalbaarheid: Hoewel efficiënt voor databases tot enkele terabytes, is SQLite niet geoptimaliseerd voor grote gegevensvolumes of complexe analytische werklasten.
  • Onvolledige SQL-functionaliteiten: Mist ondersteuning voor sommige geavanceerde functionaliteiten, zoals RIGHT OUTER JOIN, opgeslagen procedures en complexe schemawijzigingen via ALTER TABLE.
  • Veiligheid: SQLite heeft geen ingebouwde toegangcontrole (zoals gebruikers en machtigingen), aangezien de toegang door het bestandssysteem wordt beheerd.

Toepassingsgevallen

  • Mobiele Applicaties: Gebruikt in Android en iOS om gegevens van applicaties op te slaan, zoals berichten, contacten en instellingen.
  • Embedded Systemen: Gebruikelijk in IoT-apparaten, slimme TV's en huishoudelijke apparaten vanwege het lage hulpbronnenverbruik.
  • Desktop Applicaties: Software zoals browsers (voor het opslaan van geschiedenis en cookies) en mediabeheerders maken gebruik van SQLite.
  • Prototyping: Nuttig voor het ontwikkelen en testen van applicaties voordat ze worden gemigreerd naar een client-serverdatabase.
  • Lokale Databases: Perfect voor standalone applicaties die geen externe toegang of hoge concurrentie vereisen.

Conclusie

SQLite is een robuuste, lichte en veelzijdige oplossing voor applicaties die een lokale, betrouwbare database nodig hebben die gemakkelijk te integreren is. Hoewel het niet geschikt is voor scenario's met hoge concurrentie of grote gegevensvolumes, maken de eenvoud, draagbaarheid en efficiëntie het tot een populaire keuze in een breed scala aan gevallen, van mobiele apparaten tot embedded systemen.


Technische Specificaties


Versie: 3.50.1

Grootte: 1.28 MB

Licentie: Gratis

Taal: Engels

Platform: Windows (64 bits)

Bestandstype: ZIP

SHA-256: 23f04896af5ea6670d1107ac59b3be9333dfb30fbe405c0307a5cf0baa58959c

Ontwikkelaar: SQLite

Categorie: Hulpmiddelen/Database

Bijgewerkt: 06-06-2025

Gerelateerd


Jailer
Maak kopieën van databases en bescherm de privacy van gevoelige gegevens.

brModelo 3.0
Versie 3.0 van brModelo, software voor het maken van relationele databasemodellen.

brModelo 2.0
Gratis software gericht op het onderwijzen van relationele database-modellering.

Alternate Timer
Software dat het mogelijk maakt om tijden te beheren en te registreren, zoals de dagelijkse werktijd of het gebruik van internet.

ESEDatabaseView
Draagbare tool die het mogelijk maakt om gegevensbestanden van de Extensible Storage Engine (ESE), ook wel EDB-bestanden genoemd, te verkennen.

Info-Base
Platform voor efficiënte beheersing van essentiële informatie.


©2005-2025 Baixe.net