Release candidateParticleDB 1.1.19-rc.17 is not yet GA or ready for production data.Release status →

The database
for AI agents.

Give agents the context they need to act. Run agents, workflows and your own code beside the data with Particles. Memory, state, coordination and analytics in one durable engine.

$curl -fsSL https://get.particledb.ai | bash

ParticleDB 1.1.19-rc.17 — release candidate; not yet GA or for production data · Release status

Better agents start
with better context.

An agent’s decisions depend on the data it receives. When context is scattered across systems, every task inherits the work of finding it, joining it and keeping it current.

ParticleDB brings relational facts, vector memory and live operational data into one engine. Prepare context with SQL. Apply your logic with Particles. Give the agent the information it needs for the next step.

Meet ParticleDB →

One engine behind every step.

The data your agents need. The state your application depends on. The code that brings them together.

Relational SQL

Store relational facts and application state with SQL, joins and ACID transactions.

A transaction

Uses db from the connect example.

db.execute("CREATE TABLE accounts (id BIGINT PRIMARY KEY, balance BIGINT)")
db.execute("INSERT INTO accounts VALUES (1, 100), (2, 0)")
with db.transaction() as tx:  # commits on exit, rolls back on error
    tx.execute("UPDATE accounts SET balance = balance - $1 WHERE id = $2", [30, 1])
    tx.execute("UPDATE accounts SET balance = balance + $1 WHERE id = $2", [30, 2])
print(db.query("SELECT id, balance FROM accounts ORDER BY id"))
Output
[{'id': 1, 'balance': 70}, {'id': 2, 'balance': 30}]

Key-value

Use Redis-compatible key-value structures for queues, locks, counters and rate limits, backed by the same durable engine.

A rate-limit counter with a TTL

Uses db from the connect example.

hits = db.kv_incr("rate:agent:1")            # 1, 2, 3 ... per call
db.kv_command("EXPIRE", "rate:agent:1", 60)  # the window resets after 60 s
print(hits)
Output
1

Live analytics

Analyze operational data where it lives, with columnar execution, no ETL and no second copy.

An aggregate over live rows

Uses db from the connect example.

db.execute("CREATE TABLE runs (agent TEXT, ms BIGINT)")
db.execute("INSERT INTO runs VALUES ('planner', 120), ('planner', 90), ('critic', 200)")
print(db.query("SELECT agent, COUNT(*) AS runs, SUM(ms)::BIGINT AS total_ms "
               "FROM runs GROUP BY agent ORDER BY agent"))
Output
[{'agent': 'critic', 'runs': 1, 'total_ms': 200}, {'agent': 'planner', 'runs': 2, 'total_ms': 210}]

Particles

Bring your code beside the data with Particles: scoring, transforms and tools callable from SQL.

1 / agent_tools.py

Python

from particledb import scalar

@scalar
def agent_priority(impact: float, confidence: float) -> float:
    return impact * confidence
2 / load it when the server starts
particledb start ... --python-functions ./agent_tools.py

Add the flag to the quickstart start command. Included in the free edition. The server runs the module with the python3 on its PATH, which needs Python 3.11 or newer and pip install particledb; checked on the standard 1.1.19-rc.17 download. Requirements

3 / call it from any client

Uses db from the connect example.

print(db.query("SELECT agent_priority($1, $2) AS priority", [0.5, 0.75]))
Output
[{'priority': 0.375}]

Less glue. More building.

Your application keeps them aligned.

A relational database for state. A key-value store for coordination. A vector database for memory. A warehouse for analytics. Plus sync jobs and dual writes.

One shared foundation.

Serve all four workloads from one durable engine, with Particles running your code beside the data.

Use the tools you already know.

PostgreSQL-compatible SQL for psql, JDBC and your ORM. Redis-compatible key-value access. Check the published clients and release versions for your application.

Build your next AI agent on ParticleDB.

One durable engine for its memory, state, coordination, analytics and your code. Free for developers.

curl -fsSL https://get.particledb.ai | bash

HTTP API: localhost:7173 · Web console: localhost:7174