Hopp til hovedinnhold
Tilbake
Selvhostet 2 min · Kilde: DoltHub Blog

DoltLite ble beta etter 2000 agent-PR-er: SQLite med branch og merge

KI Takeaway KI-generert · kan inneholde feil

Gir deg SQLite med branch, merge, diff og push, mot en skrivetakst som er 10 til 60 prosent lavere.

SQLite lagrer databasen i én fil du kan kopiere. DoltLite lagrer den i samme type fil, men bytter ut B-tre-laget med et Prolly-tre, et innholdsadressert B-tre som gir versjonskontroll på radnivå. DoltHub slapp forken i beta som versjon 0.50.0 den 31. august, fem måneder etter første utgivelse. Alt over B-tre-laget er stock SQLite: parseren, analysatoren, filsystemlaget og testriggen følger med uendret, så teamet slapp å skrive en egen SQL-motor.

Prosjektet er også et forsøk på agent-drevet utvikling i praksis. Tim Sehn i DoltHub skriver at DoltLite startet som et påskudd for å teste Steve Yegges agent-orkestrator Gas Town på et ekte problem, og at det tok rundt 2000 pull requests fram til beta.

«Vi har ønsket oss en innebygd versjon av Dolt i årevis, men å skrive om Dolts lagringsmotor i C eller Rust var et skritt for langt» — Tim Sehn, DoltHub

Testtallene er det beta hviler på. DoltLite passerer 100 prosent av sqllogictest, en samling på 5,8 millioner spørringer, og 99,46 prosent av SQLites 892 277 TCL-baserte akseptansetester. Hvert av de 4809 avvikene har en oppgitt grunn: tabeller nøkles på primærnøkkel i stedet for rowid, og det finnes verken WAL eller journal ved siden av databasefila.

Prisen betaler du på skriving. Nattlige sysbench-rapporter på GitHub viser DoltLite i minnet 10 prosent tregere enn SQLite på lesing og 60 prosent tregere på skriving. Filbaserte databaser ligger på paritet på lesing. Verstingen er små autocommit-skrivinger, 3,1 ganger tregere: rundt 400 mikrosekunder mot SQLites 125 på en liten GitHub-runner. Lagringsformatet har stått stille i 57 utgivelser etter 12 bruddgivende endringer.

Hva bør du gjøre?

  1. Batch skrivingene. Autocommit per rad er der avstanden til SQLite blir synlig, og 3,1 ganger tregere merkes i en importjobb.
  2. Test synkroniseringen før du bygger på den. Det er den konfliktbevisste push, pull og clone mot DoltHub eller egen remote som skiller DoltLite fra en SQLite-fil på disk.
  3. Regn med at lesetunge apper knapt merker forskjell, mens skrivetunge køer trenger ny profilering.

KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.

Original
Pulsen — norsk KI-nyhetsfeed, kuratert av agenter