From the team.
Engineering notes, customer stories, design decisions.
How a graph database works vs joins
A relational database re-derives relationships with joins at query time; a graph database stores them as structure and walks them. When each one wins.
How vector search works: HNSW explained
Embeddings turn meaning into geometry. A plain-language walk through similarity metrics, why brute force dies at scale, HNSW, and what quantization costs.
The token economy and your AI bill
Token spend is now a governed line item, and its biggest driver is missing context: an under-informed model retries, over-prompts and calls other models.
Why the database is now multi-modal
SQL, vector, graph, full-text and natural-language queries usually mean five systems kept in sync. A multi-modal database answers all five on one copy.
One database, every query shape
OriginChainDB answers SQL, vector, full-text, graph and natural-language queries from one managed store, with the same write visible to every shape atomically.
Multi-region cold standby at $5/month
How we cut per-tenant multi-region DR from ~$78/month to ~$5–15/month by dropping the standby host, and what it costs: RTO ~10–15 min, RPO ≤60 s.
Fuzzing a database: 850,000 probes/day
A 24/7 fuzz canary fires ~10,000 random API probes a minute at a live engine. The 14 generator families, the invariants it asserts, and what it misses.
Window functions, correlated subqueries
OriginChainDB's SQL surface now has ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD and aggregate OVER, plus correlated EXISTS, IN and scalar subqueries.
RAG at 10M documents: version skew
In a four-database RAG stack the vector, BM25 posting and row text of one chunk can commit at different versions - and the faithfulness check grades the skew.
From a 20-second dashboard to 300 ms
Reading a tenant credential over a remote command cost 4-15 seconds per dashboard page. A managed parameter store cut it to ~150 ms. The migration path.
Automatic Idempotency-Key in the SDK
Every mutating SDK call now ships an Idempotency-Key UUID you never type. The bounded-cache check that had to land first, and how the dedupe path works.
Agent memory economics: 100M tool calls
An agent at 100M tool calls/month writes ~50 GB of traces, but LLM inference is 99.8% of the bill. The four levers that actually move agent memory cost.
Write backpressure: 429 + Retry-After
OriginChainDB refuses overload with HTTP 429 and a Retry-After computed from the token bucket's refill schedule. The per-API-key limits, and retry code.
OriginChainDB vs Redis: when each fits
Redis serves point reads from RAM; its default AOF setting can lose a second of writes. Every OriginChainDB commit is durable before the API returns.
OriginChainDB vs Supabase: when each fits
Supabase bundles Postgres with auth, storage, realtime and edge functions. OriginChainDB is only the database layer, built for AI-shaped data. Where each fits.
AI feature cost at 100K to 10M users
A per-user cost model for an AI feature: LLM tokens are 95% of the bill, embeddings 3%, the database 2%. Line items at 100K, 1M and 10M users.
Idempotent tool calls for agent loops
Agent tool calls with side effects get retried and duplicated. The idempotency-key playbook: atomic compare-and-set, per-key TTL, and wait-for-result.
Do you need a separate vector database?
A separate vector database means dual-writing the entity and its embedding. Storing vectors as another shape in one substrate makes both writes atomic.
Per-key TTL: agent memory that forgets
Per-key TTL lets each record expire on its own: a ttl in seconds on any write, invisible to reads at expiry, compacted in the background. Maximum 365 days.
RAG latency budget: where the time goes
A 2-second conversational RAG loop spends 500-2000ms in the LLM call; embed, ANN, hydrate and prompt should fit under 250ms combined.
OriginChainDB vs DynamoDB: when each fits
DynamoDB stores vectors as opaque attributes and needs a sidecar ANN service; OriginChainDB commits the entity and its vector in one transaction.
OriginChainDB vs Pinecone: when each fits
Pinecone holds the vector and assumes the entity lives elsewhere, so you dual-write. OriginChainDB writes entity and vector in one transaction. Where each fits.
OriginChainDB vs Postgres + pgvector
Postgres + pgvector suits teams already on Postgres adding vectors as a feature. OriginChainDB suits agent-paced writes and atomic multi-shape transactions.
Our depth-first roadmap to 1.0
The roadmap to 1.0 is HA, fuzzing, optimiser, EXPLAIN, multi-writer, online schema change - in that order. What that buys, and what it leaves off.
HA snapshot bootstrap: the cutover gap
Snapshot-based bootstrap closes the window where writes land while a replica is still seeding. How the cutover works, and what it still won't protect.
OriginChainDB quickstart in five minutes
Provision a managed instance, write a JSON record and its vector embedding in one atomic transaction, run a similarity search, hydrate the match.
Eight comparison pages in one afternoon
Eight competitor comparison pages shipped in an afternoon by three coding agents run in parallel. The prompt, the fairness rubric, and what agents can't do.
OpenAPI spec and the AI coding loop
An OpenAPI spec is what a coding agent reads to generate a client for your API. Ours is vanilla OpenAPI 3.1, one bearer scheme, published at /openapi.json.
One MCP server for every AI IDE
The @originchain/mcp-server package exposes five tools over stdio transport, configured by environment variables. What it does, and what MCP doesn't solve.