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().
# 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.
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.
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_id | COUNT(*) |
|---|---|
| 1 | 42 |
| 2 | 38 |
| 3 | 27 |
| 4 | 19 |
| 5 | 11 |
Exemple de résultat précalculé. Requête SELECT groupée par product_id.
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.
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 }
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 HTTP | Postgres |
|---|---|---|
| Installation serveur | None needed | Server process |
| Chaîne de connexion | Just a URL | Host/port/user/pass |
| Driver de langage | Any HTTP client | pg, mysql2 |
| Accès agent IA | Driver required | |
| Voyage dans le temps | Manual migrations | |
| Opérations KV atomiques | incr/decr/push/pop | App-level only |
| URL partageable | ||
| Conteneurs simultanés | FUSE mount | Pool per service |
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}]}
KV Core
{count, plural, =1 {# endpoint} other {# endpoints}'}GET .../api/v1/sqlite/kv/session-abc → {value: "...", metadata: {'}'}
Atomic & Batch
{count, plural, =1 {# endpoint} other {# endpoints}'}POST .../api/v1/sqlite/kv/counter/incr → {value: 6, oldValue: 5}
Time-Travel
{count, plural, =1 {# endpoint} other {# endpoints}'}GET .../api/v1/sqlite/kv/price/history → [{op: "set", value: 99}]
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.
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.