Experimental, by invite
The database that sleeps when your app does.
A SQLite database served over HTTPS, for an app on AOZUMI or for anything else you build. Create one in a click and connect with the client you already use. When nobody's asking, it's just a file.
- @libsql/client
- Drizzle
- plain HTTP
From a click to your first query.
AOZUMI DB speaks the same HTTP protocol as libSQL, so @libsql/client, Drizzle and anything built on them connect without changes.
Create it
In your app's Settings, open Databases and choose Create SQLite database.
AOZUMI wires it up
Production gets
AOZUMI_DB_URLandAOZUMI_DB_TOKEN. The token opens this one database and nothing else.Deploy
Redeploy, and your app is talking to its database.
No app on AOZUMI? Create a standalone database in AOZUMI DB, copy its URL and a token from its page, read and write or read only, and connect from anywhere. You can hand it to an app's environment later and take it back; the data never moves.
import { createClient } from "@libsql/client";
const db = createClient({
url: process.env.AOZUMI_DB_URL!,
authToken: process.env.AOZUMI_DB_TOKEN,
});
await db.execute({
sql: "insert into notes (body) values (?)",
args: ["hello"],
});
const { rows } = await db.execute("select * from notes");Writes wait their turn.
SQLite takes one write at a time. Plain SQLite turns the next writer away with “database is locked”. AOZUMI DB hands every write a number and runs them in order, while reads carry on.
In our benchmark, with 32 clients writing at the same time, AOZUMI DB turned no write away. A median write took 1.6 ms with 1,000 arriving every second.
37,000 reads a second, on a laptop.
We measure with YCSB, the standard benchmark for databases you reach over a network, on the kind of machine you have, not a tuned server.
What comes with every database.
No instance to size, no connection pool to tune, no server to patch. Here's the whole list, the way SQLite would print it.
| feature | what_you_get |
|---|---|
| limits | 256 MB, 5 s a statement, 100 requests a second |
| tokens | one database each, read-write or read-only; rotate to revoke |
| anywhere | a standalone one needs no app: its URL and a token |
| hand-over | give one to an app's environment, take it back, keep the data |
| guard rails | ATTACH, VACUUM INTO and risky pragmas refused |
| when idle | just a file; no instance of yours to keep running |
| per workspace | up to 3 while it's experimental |
| backups | every change, kept 3 to 14 days by plan; restore any moment, or download a copy |
Questions, answered.
How do I get it?
Sign in with your AOZUMI account and open AOZUMI DB. While it's experimental, a workspace asks for access there and we switch it on. Once it's on, you can create databases in AOZUMI DB, or for an app from its Settings, under Databases.
Do I need an app on AOZUMI?
No. A standalone database belongs to your workspace, not to an app. Copy its URL and a token from its page in AOZUMI DB, and connect from a server anywhere, a script or your laptop. You can hand it to one of your app's environments later, and take it back, without moving the data.
Is it really SQLite?
It speaks SQLite's SQL and keeps each database as a SQLite file. AOZUMI's own server, written in Rust, serves it over HTTPS.
Which clients work?
Anything that speaks libSQL's HTTP protocol: @libsql/client, Drizzle on top of it, or plain HTTP with a bearer token.
Can a coding agent set it up?
Yes. Give Claude Code, Cursor, Codex or any other MCP client an AOZUMI API key, and it can create a database, put its two lines in your .env, run SQL and clean up, without opening the console. Set up an agent
Can I revoke a token?
Yes. Rotate the database's token, on its page in AOZUMI DB or in the app's Settings, and every token given out before stops working at once, read-only ones too. An app that uses the database gets the new token for its next deploy, and can't reach the database until then.
Is my data backed up?
Yes. The server takes a snapshot of each database every hour while it changes, and saves every change in between within seconds, to Amazon S3 in Mumbai. From a database's page you can restore it to any moment of the last 3, 7 or 14 days, on the Free, Plus or Pro plan, into a new database or in place. A restore in place keeps what it replaces, so you can undo it, and any backup downloads as a SQLite file. AOZUMI DB is still experimental, so keep your own copy of anything you can't lose. Backups and restore
What happens when I delete my app?
Its own databases are deleted with it, backups included, and so are the AOZUMI_DB_URL and AOZUMI_DB_TOKEN variables AOZUMI set. A standalone database you handed to it is only taken back: it stays in your workspace, data and backups and all.
Give your next app a database.
AOZUMI DB is experimental and by invite. Run this to sign in and ask for access for your workspace.
insert into early_access (workspace)
values ('your-workspace');Run itRunning it opens AOZUMI DB with your AOZUMI account.