コンテンツにスキップ
ホーム / キット / sqlite
SQLiteSQL + KV + タイムトラベル

あなたのデータベースはURLです。

HTTP経由でSQLとキーバリュー操作を実行。サーバー不要、接続文字列不要、設定不要。

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を実行して結果を確認。

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

事前計算済みの例の結果。product_idでグループ化したSELECTクエリ。

ホーム / キット / sqlite / チャート
データ一目確認

クエリ結果がチャートになる。

SQLクエリを実行し、即座に結果をチャート化。Base64 URLで共有可能。ドキュメントに埋め込み可能。

製品別注文数

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

KV操作(ops/秒)

例: 24時間のSETとGET操作スループット

共有可能なクエリURL

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

任意のSELECト文をBase64エンコードして読み取り専用クエリURLを共有。誰でもブラウザで結果を確認可能。

ホーム / キット / sqlite / kv
キーバリューストア

NoSQLの速度。SQLの信頼性。

アトミック操作、バッチ更新、タイムトラベル履歴 — すべてSQLiteに支えられています。

アトミックインクリメント

競合状態なしでカウンターをインクリメント。複数の同時リクエストが正しくシリアル化される。

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

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

100キーのバッチ

1回のアトミックHTTPリクエストで最大100キーをget、set、deleteする。すべての操作が成功するかすべてが失敗。

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

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

TTL自動有効期限

任意のキーにTTLを設定すると期限切れ時に自動削除。セッション、キャッシュ、一時データに最適。

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 / 比較
従来DBとの比較

HTTPが接続文字列を上回る。

Hoody SQLiteは従来のデータベースサーバーの運用オーバーヘッドを排除します。

機能HTTP経由のHoody SQLitePostgres
サーバーインストール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
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
ホーム / キット / sqlite / 機能
機能

データベースが必要とするすべて。それ以外は何もない。

完全なデータベースツールキット:SQLトランザクション、キーバリューストア、アトミック操作、チャート化。

WebデータベースUI

ブラウザのビジュアルSQLクエリインターフェース。クエリ実行、スキーマ閲覧、結果チャート化。

SQLトランザクション

HTTP POST経由でアトミックSQLトランザクションを実行。複数ステートメント、パラメーター化クエリ。

キーバリューストア

SQLiteでのNoSQLスタイルGET/SET/DELETE操作。設定、セッション、キャッシュに最適。

アトミック操作

スレッドセーフなincr、decr、push、pop。競合状態なし。高並行性でも正確に動作。

バッチ操作

1回のアトミックリクエストで最大100キーをget・setする。全成功か全失敗のセマンティクス。100倍の速度向上。

SQLite Drive FUSE

マルチコンテナアクセスのため/hoody/databases/にデータベースを保存。同時書き込み安全なWALモード。

ホーム / キット / sqlite / CTA

あなたのデータベースはURLです。

サーバー不要。ドライバー不要。HTTPだけ。今すぐSQLとキーバリュー操作を実行してみましょう。

ドキュメントを読む