跳转到内容
主页 / 套件 / SQLite
SQLiteSQL + KV + 时光机

数据库即 URL。

通过 HTTP 执行 SQL 和键值操作。零服务器,零连接字符串——只需 fetch()。

hoody-sqlite · 无服务器数据库访问

# 通过 HTTP POST 执行 SQL

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

}]

}'

# 带结果的响应

HTTP/1.1 200 OK

{

"success": true,

"results": [[

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

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

]]

}

无数据库服务器,无连接字符串,只需 HTTP。

主页 / 套件 / SQLite / 演练场
动手试试

执行 SQL,查看结果。

通过 HTTP 执行 SQL 查询、设置带 TTL 的键值对,以及原子递增计数器。

hoody-sqlite · 交互式演练场

请求

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

{

"transaction": [{

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

}]

}

结果(5 行)

product_idCOUNT(*)
142
238
327
419
511

预计算示例结果。SELECT 查询按 product_id 分组。

主页 / 套件 / SQLite / 图表
数据一览

查询结果即图表。

执行 SQL 查询,即时生成图表。可分享的 Base64 URL 可将实时数据嵌入仪表盘。

按产品的订单数

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

KV 操作(ops/sec)

示例:24 小时内 SET 与 GET 操作吞吐量

可分享查询 URL

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

对任意 SELECT 语句进行 Base64 编码并分享只读查询 URL。任何人都可以查看实时数据——无写入权限,完全安全。

主页 / 套件 / SQLite / 键值
键值存储

NoSQL 速度。SQL 可靠性。

原子操作、批量更新和时光机历史记录——全部以 SQLite 为底层,通过 HTTP 访问。

原子递增

无竞争条件地递增计数器。多个并发请求被原子串行化——计数器依次为 5 → 6 → 7,永远不会出现 5 → 6 → 6。

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

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

批量 100 个键

通过单次原子 HTTP 请求获取、设置或删除最多 100 个键。全部成功或全部失败——比逐个请求快 100 倍。

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

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

TTL 自动过期

为任意键设置 TTL,过期后自动删除。适合会话、缓存和 Token——无需清理任务。

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

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

时光机历史记录

每次键变更都被记录。查看历史记录,在任意时间戳快照值,或即时回滚到上一状态。

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

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

主页 / 套件 / SQLite / 对比
vs 传统数据库

HTTP 胜过连接字符串。

Hoody SQLite 消除了传统数据库服务器的运维开销,数据库就是一个 URL。

功能Hoody SQLite over HTTPPostgres
服务器安装None neededServer process
连接字符串Just a URLHost/port/user/pass
语言驱动Any HTTP clientpg, mysql2
AI 智能体访问Driver required
时光机Manual migrations
原子 KV 操作incr/decr/push/popApp-level only
可分享 URL
多容器并发FUSE mountPool per service
主页 / 套件 / SQLite / API
API 参考

23 个端点。SQL 和 KV,通过 HTTP。

执行 SQL 查询、读写键值对、执行原子批处理、查询时间旅行历史——全部在单一数据库连接上。

SQL Operations

{count, plural, =1 {# 个端点} other {# 个端点}'}

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 {# 个端点} other {# 个端点}'}

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 {# 个端点} other {# 个端点}'}

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 {# 个端点} other {# 个端点}'}

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
主页 / 套件 / SQLite / 能力
能力

数据库所需的一切,仅此而已。

完整的数据库工具包:SQL 事务、键值存储、原子操作、批量处理和时光机——全部通过 HTTP。

Web 数据库 UI

浏览器中的可视化 SQL 查询界面。执行查询、浏览 Schema、以表格格式查看结果——无需本地工具。

SQL 事务

通过 HTTP POST 执行原子 SQL 事务。单次请求支持多条语句、参数化查询和批量插入。

键值存储

SQLite 上的 NoSQL 风格 GET/SET/DELETE 操作,适合配置、会话、缓存和功能标志。

原子操作

线程安全的 incr、decr、push 和 pop。无竞争条件,在任意并发级别下均能正确工作。

批量操作

在单次原子请求中获取或设置最多 100 个键。全有或全无语义,比逐个请求快 100 倍。

SQLite Drive FUSE

将数据库存储在 /hoody/databases/ 以供多容器访问,通过宿主机级别 FUSE 挂载保证并发写入安全。

主页 / 套件 / SQLite / CTA

数据库即 URL。

无服务器,无驱动,只需 HTTP。分钟内开始执行 SQL 和键值操作。

阅读文档