Zum Inhalt springen
Home / Kit / SQLite
SQLiteSQL + KV + Time-Travel

SQL über HTTP. Kein ORM. Kein Datenbankserver.

Führe SQL-Abfragen per HTTP POST aus. SQLite läuft im Container – kein Netzwerkaufwand, keine Verbindungs-Pools, kein Setup.

sqlite — hoody kit

# SQL per HTTP POST ausführen

$ curl -X POST "...sqlite-1.../api/v1/sqlite/db"

?db=/data/app.db \

-d '{

"transaction": [{

"query": "SELECT product_id, COUNT(*) FROM orders GROUP BY product_id LIMIT 5"

}]

}'

# Antwort mit Ergebnissen

HTTP/1.1 200 OK

{

"success": true,

"results": [[

{ "product_id": 1, "count": 42},

{ "product_id": 2, "count": 38}

]]

}

Kein Datenbankserver. Kein Connection-String. Nur HTTP.

Home / Kit / SQLite / playground
Ausprobieren

SQL ausführen. Ergebnis sehen.

SQL-Abfragen ausführen, Key-Value-Paare mit TTL setzen und Zähler atomar erhöhen — alles über HTTP.

hoody-sqlite · interaktives Playground

Anfrage

POST /api/v1/sqlite/db?db=/data/app.db

{

"transaction": [{

"query": "SELECT product_id, COUNT(*) FROM orders GROUP BY product_id LIMIT 5"

}]

}

Ergebnis (5 Zeilen)

product_idCOUNT(*)
142
238
327
419
511

Vorberechnetes Beispielergebnis. SELECT-Abfrage gruppiert nach product_id.

Home / Kit / SQLite / charts
Daten auf einen Blick

Abfrageergebnisse werden zu Diagrammen.

SQL-Abfrage ausführen, Ergebnis sofort als Diagramm anzeigen. Teilbare Base64-URLs ermöglichen Live-Daten in Dashboards.

Bestellungen nach Produkt

Beispiel: SELECT product_id, COUNT(*) FROM orders GROUP BY product_id

KV-Operationen (Ops/Sek.)

Beispiel: SET-vs-GET-Durchsatz über 24 Stunden

Teilbare Abfrage-URL

GET /api/v1/sqlite/query?db=/data/app.db&sql=U0VMRUNUIFN1bShjb3VudCkgRlJPTSBvcmRlcnM=

Beliebige SELECT-Anweisung Base64-kodieren und eine schreibgeschuetzte Abfrage-URL teilen. Jeder kann Live-Daten einsehen — kein Schreibzugriff, ideal für Dashboards.

Home / Kit / SQLite / kv
Key-Value-Store

Kein Redis. SQLite hat's.

Der Key-Value-Store ist eine SQLite-Tabelle unter der Haube. Alle ACID-Garantien. Kein separater Cache-Service nötig.

Atomares Inkrement

Zähler ohne Race Conditions erhöhen. Mehrere gleichzeitige Anfragen werden atomar serialisiert — Zähler geht 5 → 6, jedes Mal.

POST /api/v1/sqlite/kv/views:homepage/incr

{ "oldValue": 5, "newValue": 6 }

100 Keys auf einmal

Bis zu 100 Keys in einer atomaren HTTP-Anfrage abrufen, setzen oder löschen. Alle Operationen gelingen oder alle schlagen fehl — 100x schneller als einzelne Anfragen.

POST /api/v1/sqlite/kv/batch/set

{ "success": true, "count": 100 }

TTL-Automatikablauf

TTL für jeden Key setzen und er wird automatisch gelöscht. Ideal für Sessions, Cache und Tokens — keine Aufräumjobs nötig.

PUT /api/v1/sqlite/kv/session:abc?ttl=3600

{ "success": true, "key": "session:abc" }

Time-Travel-Verlauf

Jede Key-Änderung wird aufgezeichnet. Verlauf anzeigen, Werte zu einem bestimmten Zeitstempel anzeigen oder sofort auf einen früheren Zustand zurücksetzen.

GET /api/v1/sqlite/kv/config:timeout/history

{ "history": [...], "total": 12 }

Home / Kit / SQLite / compare
vs. Herkömmliche Datenbank

HTTP schlaegt Connection-Strings.

Hoody SQLite eliminiert den Betriebsaufwand herkömmlicher Datenbankserver. Deine Datenbank ist einfach eine URL.

FeatureHoody SQLite über HTTPPostgres
Server-InstallationNone neededServer process
Connection-StringJust a URLHost/port/user/pass
Sprach-TreiberAny HTTP clientpg, mysql2
AI-Agent-ZugriffDriver required
Time-travelManual migrations
Atomare KV-Operationenincr/decr/push/popApp-level only
Teilbare URL
Gleichzeitige ContainerFUSE mountPool per service
home / kit / sqlite / api
API REFERENCE

23 Endpoints. SQL und KV über HTTP.

Vollständige SQL-Transaktionen, Key-Value-CRUD, atomare Operationen, Batch-Operationen und Time-Travel — alles als einfaches HTTP. Kein SDK erforderlich.

SQL-Operationen

{count, plural, =1 {# Endpoint} other {# Endpoints}'}

POST .../api/v1/sqlite/db → {results: [{changes: 1}]}

POST
/api/v1/sqlite/dbFühre eine SQL-Transaktion mit vollständigen ACID-Garantien aus
GET
/api/v1/sqlite/queryFühre eine teilbare Base64-codierte SQL-Abfrage über URL aus
POST
/api/v1/sqlite/db/createErstelle eine neue SQLite-Datenbank mit optionaler KV-Initialisierung

KV-Kern

{count, plural, =1 {# Endpoint} other {# Endpoints}'}

GET .../api/v1/sqlite/kv/session-abc → {value: "...", metadata: {'}'}

GET
/api/v1/sqlite/kv/{key}Rufe Wert mit optionalem JSON-Pfad und Time-Travel ab
PUT
/api/v1/sqlite/kv/{key}Speichere oder aktualisiere Wert mit optionalem TTL und Compare-and-Swap
DELETE
/api/v1/sqlite/kv/{key}Lösche einen Schlüssel aus dem KV-Store
HEAD
/api/v1/sqlite/kv/{key}Überprüfe die Schlüsselexistenz ohne den Wert zu fetchen
GET
/api/v1/sqlite/kvListe alle Schlüssel mit optionalem Filtern und Pagination auf

Atomare & Batch-Operationen

{count, plural, =1 {# Endpoint} other {# Endpoints}'}

POST .../api/v1/sqlite/kv/counter/incr → {value: 6, oldValue: 5}

POST
/api/v1/sqlite/kv/{key}/incrErhöhe einen numerischen Zähler atomar
POST
/api/v1/sqlite/kv/{key}/decrVerringere einen numerischen Zähler atomar
POST
/api/v1/sqlite/kv/{key}/pushFüge einen Wert an ein Array an (unterstützt JSON-Pfad)
POST
/api/v1/sqlite/kv/{key}/popEntferne das letzte Element aus einem Array
POST
/api/v1/sqlite/kv/{key}/removeEntferne Array-Element nach Index oder Wert
POST
/api/v1/sqlite/kv/batch/getBatch-Abruf von bis zu 100 Schlüsseln in einer atomaren Anfrage
POST
/api/v1/sqlite/kv/batch/setBatch-Setzen von bis zu 100 Schlüsseln in einer atomaren Transaktion
POST
/api/v1/sqlite/kv/batch/deleteBatch-Löschen von bis zu 100 Schlüsseln in einer atomaren Transaktion

Time-Travel

{count, plural, =1 {# Endpoint} other {# Endpoints}'}

GET .../api/v1/sqlite/kv/price/history → [{op: "set", value: 99}]

GET
/api/v1/sqlite/historyListe die Abfrage-Ausführungshistorie mit Statistiken und Audit-Trail auf
GET
/api/v1/sqlite/kv/{key}/historyRufe die vollständige Änderungshistorie für einen bestimmten Schlüssel ab
GET
/api/v1/sqlite/kv/{key}/snapshotRufe den Schlüsselwert bei einer bestimmten Operationsnummer ab
GET
/api/v1/sqlite/kv/snapshotSnapshot des gesamten KV-Tabellenstatus bei einem Zeitstempel
GET
/api/v1/sqlite/kv/diffVergleiche KV-Tabellenstatus zwischen zwei Zeitstempeln
POST
/api/v1/sqlite/kv/{key}/rollbackRolle einen Schlüssel N Operationen zu einem vorherigen Wert zurück
POST
/api/v1/sqlite/kv/rollbackRolle die gesamte KV-Tabelle zu einem vorherigen Zeitstempel zurück
Home / Kit / SQLite / Fähigkeiten
Fähigkeiten

Alles, was deine Datenbank braucht. Nichts, was sie nicht braucht.

Ein vollständiges Datenbank-Toolkit: SQL-Transaktionen, Key-Value-Store, atomare Operationen, Batch-Verarbeitung und Time-Travel — alles über HTTP.

Web-Datenbank-UI

Visuelles SQL-Query-Interface im Browser. Abfragen ausführen, Schema durchsuchen, Ergebnisse in Tabellenformat anzeigen — kein lokales Tool nötig.

SQL-Transaktionen

Atomare SQL-Transaktionen per HTTP POST ausführen. Mehrere Anweisungen, parametrisierte Abfragen und Bulk-Inserts in einer Anfrage.

Key-Value-Store

NoSQL-artige GET/SET/DELETE-Operationen auf SQLite. Ideal für Konfiguration, Sessions, Cache und Feature-Flags.

Atomare Operationen

Thread-sicheres incr, decr, push und pop. Keine Race Conditions. Funktioniert korrekt bei beliebiger Parallelitaet.

Batch-Operationen

Bis zu 100 Keys in einer atomaren Anfrage abrufen oder setzen. Alles-oder-nichts-Semantik. 100x schneller als einzelne Anfragen.

SQLite Drive FUSE

Datenbanken in /hoody/databases/ speichern für Multi-Container-Zugriff. Gleichzeitig-schreibsicher per Host-Level-FUSE-Mount.

Home / Kit / SQLite / CTA

SQLite ist bereits laufend.

Kein Server. Kein Treiber. Nur HTTP. SQL- und Key-Value-Operationen in Minuten starten.

Docs lesen