SQLite is een lichtgewicht relationele database-engine die toegankelijk is via de SQL-taal . In tegenstelling tot traditionele databaseservers, zoals MySQL of PostgreSQL, onderscheidt SQLite zich niet door de gebruikelijke client-serverarchitectuur na te bootsen, maar door direct in programma's te integreren.
De volledige database (instructies, tabellen, indexen en gegevens) wordt opgeslagen in een platformonafhankelijk bestand. Dankzij het extreem lichte karakter, onder andere, wordt het gebruikt in veel consumentenprogramma's en is het ook erg populair in embedded systemen, waaronder de nieuwste smartphones.
In tegenstelling tot client-server databasebeheersystemen is de SQLite-engine geen apart proces waarmee het hoofdprogramma communiceert. In plaats daarvan is de SQLite-bibliotheek gekoppeld aan het programma en vormt zo een integraal onderdeel ervan.
Het programma gebruikt de functionaliteit van SQLite door eenvoudige aanroepen van subroutines en functies. Dit vermindert de latentie bij het openen van de database, aangezien functieaanroepen efficiënter zijn dan communicatie tussen processen.
De volledige database (definities, tabellen, indexen en de gegevens zelf) worden als een enkel standaardbestand op de hostcomputer opgeslagen. Dit eenvoudige ontwerp wordt bereikt door het volledige databasebestand aan het begin van elke transactie te vergrendelen.
Over de nieuwe versie van SQLite 3.32.0
Onlangs werd SQLite versie 3.32.0 aangekondigd, die verschillende wijzigingen bevat, met name een verbeterde versie van het ANALYZE-commando . Hiermee kunnen gedeeltelijke statistieken uit zeer grote databases worden verzameld zonder een volledige indexanalyse. De limiet voor het aantal records dat voor één index wordt gescand, wordt ingesteld met de nieuwe "PRAGMA analysis_limit"-richtlijn.
Een andere verandering in deze nieuwe versie van SQLite is een nieuwe virtuele tabel , "bytecode", die informatie bevat over de bytecode van voorbereide statements.
Daarnaast is een VFS-checksumlaag toegevoegd, die 8-byte checksums aan het einde van elke datapagina in de database toevoegt en deze controleert telkens wanneer gegevens uit de database worden gelezen. Deze tussenlaag maakt het mogelijk om databasecorruptie te detecteren die het gevolg is van willekeurige bitvervorming op opslagapparaten.
Aan de andere kant is een nieuwe SQL-functie iif (X, Y, Z) toegevoegd, die de waarde Y retourneert als de uitdrukking X waar is, of Z anders.
De INSERT- en UPDATE-expressies passen nu altijd vaste kolomtypevoorwaarden toe vóór het CHECK-berekeningsblok, en de limiet voor het aantal parameters is verhoogd van 999 naar 32766.
Andere opvallende wijzigingen in deze nieuwe versie zijn onder meer:
- De extensie UINT-sorteerreeks toegevoegd met de implementatie van sorteerreeksen die rekening houden met gehele getallen in de tekst om deze tekst in numerieke volgorde te sorteren.
- In de opdrachtregelinterface zijn de opties "–csv", "–ascii" en "–skip" toegevoegd aan het commando ".import".
- Het ".dump" commando staat het gebruik van meerdere LIKE sjablonen toe met het samenvoegen in de uitvoer van alle tabellen die corresponderen met de gespecificeerde maskers. Toegevoegd ".oom" commando voor debug builds.
- De –bom optie is toegevoegd aan de ".excel", ".output" en ".once" commando's. –Schema optie toegevoegd aan ".filectrl" commando.
- De ESCAPE-expressie die is opgegeven met de LIKE-operator overschrijft nu jokertekens, wat consistent is met het gedrag van PostgreSQL.
Als u tot slot meer wilt weten over de release van deze nieuwe versie, kunt u de lijst met wijzigingen raadplegen via de volgende link.
Ontladen
Voor wie deze nieuwe versie van SQLite op zijn of haar systeem wil installeren, zijn de pakketten te downloaden via de officiële website in de downloadsectie. Daar zijn zowel de broncode (voor compilatie) als voorgecompileerde pakketten beschikbaar.