Aller au contenu
accueil / kit / sqlite
SQLiteSQL + KV + Voyage dans le temps

Votre base de données est une URL.

Exécutez des opérations SQL et clé-valeur via HTTP. Zéro serveur, zéro chaîne de connexion — juste fetch().

hoody-sqlite · accès base de données serverless

# Exécuter SQL via HTTP POST

$ 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"

}]

}'

# Réponse avec résultats

HTTP/1.1 200 OK

{

"success": true,

"results": [[

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

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

]]

}

Pas de serveur de base de données. Pas de chaîne de connexion. Juste HTTP.

accueil / kit / sqlite / playground
Essayez

Exécutez du SQL. Voyez le résultat.

Exécutez des requêtes SQL, définissez des paires clé-valeur avec TTL et incrémentez des compteurs atomiquement — tout via HTTP.

hoody-sqlite · playground interactif

Requête

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

{

"transaction": [{

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

}]

}

Résultat (5 lignes)

product_idCOUNT(*)
142
238
327
419
511

Exemple de résultat précalculé. Requête SELECT groupée par product_id.

accueil / kit / sqlite / graphiques
Données en un coup d'œil

Les résultats de requête deviennent des graphiques.

Exécutez une requête SQL, visualisez les résultats instantanément. Les URLs Base64 partageables vous permettent d'intégrer des données en direct dans des tableaux de bord.

Commandes par produit

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

Opérations KV (ops/s)

Exemple : débit d'opérations SET vs GET sur 24 heures

URL de requête partageable

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

Encodez en Base64 n'importe quelle instruction SELECT et partagez une URL de requête en lecture seule. N'importe qui peut voir les données en direct — aucun accès en écriture, parfaitement sûr.

accueil / kit / sqlite / kv
Stockage clé-valeur

Rapidité NoSQL. Fiabilité SQL.

Opérations atomiques, mises à jour par lots et historique temporel — le tout sauvegardé par SQLite, accessible via HTTP.

Incrément atomique

Incrémentez des compteurs sans conditions de course. Plusieurs requêtes simultanées sont sérialisées atomiquement — le compteur passe de 5 → 6 → 7, jamais 5 → 6 → 6.

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

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

Batch de 100 clés

Obtenez, définissez ou supprimez jusqu'à 100 clés dans une seule requête HTTP atomique. Toutes les opérations réussissent ou toutes échouent — 100x plus rapide que des requêtes individuelles.

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

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

Expiration automatique TTL

Définissez un TTL sur n'importe quelle clé et elle se supprime automatiquement à l'expiration. Idéal pour les sessions, le cache et les tokens — aucun job de nettoyage nécessaire.

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

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

Historique temporel

Chaque changement de clé est enregistré. Affichez l'historique, prenez des instantanés de valeurs à n'importe quel horodatage, ou revenez instantanément à un état précédent.

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

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

accueil / kit / sqlite / comparaison
vs BD traditionnelle

HTTP surpasse les chaînes de connexion.

Hoody SQLite élimine la surcharge opérationnelle des serveurs de base de données traditionnels. Votre base de données est juste une URL.

FonctionnalitéHoody SQLite via HTTPPostgres
Installation serveurNone neededServer process
Chaîne de connexionJust a URLHost/port/user/pass
Driver de langageAny HTTP clientpg, mysql2
Accès agent IADriver required
Voyage dans le tempsManual migrations
Opérations KV atomiquesincr/decr/push/popApp-level only
URL partageable
Conteneurs simultanésFUSE mountPool per service
home / kit / sqlite / api
API REFERENCE

23 Endpoints. SQL and KV over HTTP.

Full SQL transactions, key-value CRUD, atomic ops, batch operations, and time-travel — all as plain HTTP. No SDK required.

SQL Operations

{count, plural, =1 {# endpoint} other {# endpoints}'}

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

POST
/api/v1/sqlite/dbExecute SQL transaction with full ACID guarantees
GET
/api/v1/sqlite/queryRun shareable base64-encoded SQL query via URL
POST
/api/v1/sqlite/db/createCreate a new SQLite database with optional KV init

KV Core

{count, plural, =1 {# endpoint} other {# endpoints}'}

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

GET
/api/v1/sqlite/kv/{key}Retrieve value with optional JSON path and time-travel
PUT
/api/v1/sqlite/kv/{key}Store or update value with optional TTL and compare-and-swap
DELETE
/api/v1/sqlite/kv/{key}Delete a key from the KV store
HEAD
/api/v1/sqlite/kv/{key}Check key existence without fetching the value
GET
/api/v1/sqlite/kvList all keys with optional filtering and pagination

Atomic & Batch

{count, plural, =1 {# endpoint} other {# endpoints}'}

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

POST
/api/v1/sqlite/kv/{key}/incrAtomically increment a numeric counter
POST
/api/v1/sqlite/kv/{key}/decrAtomically decrement a numeric counter
POST
/api/v1/sqlite/kv/{key}/pushAppend a value to an array (supports JSON path)
POST
/api/v1/sqlite/kv/{key}/popRemove the last element from an array
POST
/api/v1/sqlite/kv/{key}/removeRemove array element by index or value
POST
/api/v1/sqlite/kv/batch/getBatch-retrieve up to 100 keys in one atomic request
POST
/api/v1/sqlite/kv/batch/setBatch-set up to 100 keys in one atomic transaction
POST
/api/v1/sqlite/kv/batch/deleteBatch-delete up to 100 keys in one atomic transaction

Time-Travel

{count, plural, =1 {# endpoint} other {# endpoints}'}

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

GET
/api/v1/sqlite/historyList query execution history with stats and audit trail
GET
/api/v1/sqlite/kv/{key}/historyRetrieve full change history for a specific key
GET
/api/v1/sqlite/kv/{key}/snapshotGet key value at a specific operation number
GET
/api/v1/sqlite/kv/snapshotSnapshot entire KV table state at a timestamp
GET
/api/v1/sqlite/kv/diffDiff KV table state between two timestamps
POST
/api/v1/sqlite/kv/{key}/rollbackRoll back a key N operations to a previous value
POST
/api/v1/sqlite/kv/rollbackRoll back entire KV table to a previous timestamp
accueil / kit / sqlite / capacités
Capacités

Tout ce dont votre base de données a besoin. Rien de plus.

Une boîte à outils complète : transactions SQL, stockage clé-valeur, opérations atomiques, traitement par lots et voyage dans le temps — tout via HTTP.

Interface web de base de données

Interface visuelle de requête SQL dans votre navigateur. Exécutez des requêtes, parcourez le schéma, affichez les résultats en tableau — aucun outil local nécessaire.

Transactions SQL

Exécutez des transactions SQL atomiques via HTTP POST. Instructions multiples, requêtes paramétrées et insertions en masse dans une seule requête.

Stockage clé-valeur

Opérations GET/SET/DELETE de style NoSQL sur SQLite. Idéal pour la configuration, les sessions, le cache et les feature flags.

Opérations atomiques

incr, decr, push et pop thread-safe. Aucune condition de course. Fonctionne correctement sous n'importe quel niveau de concurrence.

Opérations par lots

Obtenez ou définissez jusqu'à 100 clés dans une seule requête atomique. Sémantique tout-ou-rien. 100x plus rapide que des requêtes individuelles.

SQLite Drive FUSE

Stockez les bases de données dans /hoody/databases/ pour un accès multi-conteneurs. Sécurisé pour les écritures simultanées via montage FUSE au niveau de l'hôte.

accueil / kit / sqlite / cta

Votre base de données est une URL.

Pas de serveur. Pas de driver. Juste HTTP. Commencez à exécuter des opérations SQL et clé-valeur en quelques minutes.

Lire la documentation