How RocheDB Differs From Typical NoSQL

RocheDB is a NoSQL/document database prototype, but it is not trying to be a MongoDB-compatible document store, an aggregation engine, or a generic secondary-index database.

The important distinction is placement. In RocheDB, the ring is not merely a collection label. It is a coordinate used by the read path, the retrieval planner, dump/import boundaries, authorization boundaries, and future sync / recovery workflows.

Expected Mental Model

In many document databases, the common model is:

insert flexible documents first
add filters, indexes, and aggregation later

RocheDB’s model is different:

place documents into meaningful rings first
use ring locality to avoid reading unrelated data later

Documents remain flexible. Different records in the same ring may have different JSON shapes. The stricter part is not schema; it is placement.

What RocheDB Does Not Try To Replace

RocheDB is not currently a replacement for:

  • MongoDB aggregation pipelines;
  • SQL joins and relational constraints;
  • arbitrary secondary-index planning over many fields;
  • global strongly consistent OLTP ledgers;
  • columnar analytics engines;
  • streaming log engines.

Those systems are strong when the application needs broad ad-hoc analysis, strict relational constraints, or large cross-corpus scans.

What RocheDB Optimizes Instead

RocheDB is designed for systems where most reads can start from a meaningful scope:

  • tenant, user, account, or organization;
  • region, language, or market;
  • product, category, or content type;
  • date or lifecycle bucket;
  • application state scope;
  • AI/RAG corpus partition;
  • imported field mapped into a ring.

When this scope is explicit, RocheDB can reduce:

  • records scanned;
  • vectors considered;
  • bytes transferred;
  • payloads projected into application code;
  • chunks passed to rerankers or LLM prompts;
  • memory pressure from unrelated candidates.

Collection Versus Ring

Topic Typical document collection RocheDB ring
Main role Store documents of a broad type Place documents in a meaningful locality
Query path Filter/index after choosing a collection Choose a ring or hierarchy before scanning
Schema Flexible documents Flexible documents
Performance tuning Indexes, query shapes, aggregation design Ring design, hierarchy, retrieval profile, projection
Isolation Database/collection/user policy Galaxy, ring prefix, auth policy, recovery/sync boundary
AI/RAG fit Often needs extra vector/index layer Ring placement is part of retrieval reduction

Insert Philosophy

RocheDB does not need a heavy classifier on every insert.

Good ring placement can come from:

  • application routing, such as tenant/acme/orders;
  • user or operator choice, such as docs/japan;
  • import rules, such as --ring-field=tenant --ring-prefix=tenant/;
  • simple domain conventions, such as products/electronics/2026;
  • later offline cleanup through halo capture or warp jobs.

This keeps writes light. The database stores enough coordinate information to make later reads cheaper.

Query Philosophy

RocheDB is strongest when the caller can say where to look.

Examples:

discard db.put("""{"title":"Refund guide"}""", ring = "docs/japan")

for item in db.listByRing("docs/japan"):
  echo item.payload

let hits = db.retrieve(@[1.0'f32, 0.0'f32], ring = "docs/japan", budget = 8)

If the caller does not know the right ring, it should inspect the atlas or ring descriptions first:

echo db.atlas()

This is closer to reading schema and table statistics before writing a SQL query than to scanning every collection and filtering afterward.

Tradeoffs

RocheDB is a poor fit when:

  • the application cannot express meaningful rings;
  • most queries require arbitrary cross-ring aggregation;
  • every field needs independent secondary-index lookup;
  • strict global transaction order is mandatory;
  • the main workload is full-corpus analytics.

RocheDB is a good fit when:

  • records naturally belong to tenants, users, topics, regions, dates, or state scopes;
  • overfetching and application-side filtering are expensive;
  • AI/RAG retrieval should avoid unrelated chunks before reranking or prompting;
  • flexible documents are useful, but read scope is predictable;
  • recovery, sync, dump, import, and authorization boundaries should follow the same data placement model.

Short Positioning

Use this wording when describing RocheDB:

RocheDB is a placement-aware NoSQL/document/vector store. It keeps NoSQL-style
document flexibility, but expects meaningful ring placement so reads can avoid
unrelated working sets.

Avoid this wording:

RocheDB is a MongoDB-compatible replacement.

That is not the design goal.