Five layers, one storage contract.

Interfaces, planner, execution and storage are available today. The deployment fabric, where all of it runs, is the layer still being worked out.

Architecture

What sits under the query.

One request, the whole way down. Follow a stage to see what it is responsible for, what it receives and what it hands on, the signal holds still while you look.

PLOMID · system diagram Select a stage or a side path
Streaming Enters as time-ordered events, planned at the planner, read through ordered ranges. Time series Enters as windowed predicates, planned once and read from ordered pages. Documents Enters at the parser as field paths, resolved alongside table columns. Vector Enters at the planner as another access path over stored data — in development. Graph Enters as first-class structures the planner reads directly — in development. Storage engine The path every shape lands on: pages and blocks beneath index and storage. Clients Query / interface Parser Planner Execution Transactions / MVCC Index Storage Data
Stage — select to read it Dashed — roadmap Signal — request direction
The whole path

One request, top to bottom

A statement enters at the top, is planned once against the layer, and lands on stored data. The side paths show where one plan reaches several shapes.

in
a question about the data
out
the answer
Planning

One plan, several data shapes.

The planner is where a unified data layer either works or does not: one request reading a table, a nested document field and a time window, without three separate round trips.

The planner resolves the request against the data layer as a whole, which columns exist, which documents carry the field being filtered on, which time range is being asked for, then chooses how to read the stored layout, not how to talk to four services.

Federation pushes that work to query time, on top of systems that each only know half the answer. Planning once over one data layer is the difference between a join and a reconciliation.

  • Predicate awareness across data models
  • Layout-aware reads instead of row-at-a-time access
  • Consistent semantics for the same expression in every model

Select an operation on the right: each answers what it is responsible for, the part of the statement it reads, and where that work lands in the architecture.

illustrative plan Select an operation

plan mixed_orders_by_region

The request resolves to one plan over the data layer as a whole — not one query per system, reconciled later.

reads SELECT region, sum(total) FROM orders WHERE placed_at > now() - interval '24 hours' GROUP BY region

The shape of a plan, not output from a benchmark run. Select an operation to see what it is responsible for and the part of the statement it reads.

Query lifecycle

A statement, the whole way down.

Eight stages, one path, the same for every data model. Select a stage to see what it is responsible for. The last one is the only stage that is not built.

stage 1 / 8
Receive current
reads
SELECT region, sum(total) FROM orders WHERE placed_at > now() - interval '24 hours' GROUP BY region

A statement arrives over one of the supported surfaces, SQL, a document field access, or a time-ordered range.

One entry point is what makes one set of types and one set of semantics possible; everything the rest of the path relies on starts here.

  • One entry point for every data model
  • Types and parameters resolved up front
  • Nothing forwarded to a second system
ina statement over any surface outone typed request
Storage

From live data
to durable storage.

Writes land in layouts designed to be read back predictably: rows and documents become pages, pages group into blocks, and every data model moves through the same storage contract.

  • Page-oriented layout for mixed shapes
  • One durability contract across models
  • Recovery treated as a platform property
ROWS · DOCUMENTS · EVENTS PAGE BLOCK · PAGES GROUPED

A row, a document field, a time-ordered event, every shape enters storage through the same door.

Access path

What sits under the query: rows, pages and blocks.

A query narrows before it reads: predicates remove work, an index picks the path, pages are touched, and only then is a row reconstructed. The further left, the less is read.

query SELECT region, sum(total) FROM orders WHERE placed_at > now() - interval '24 hours' GROUP BY region

The whole path Predicates remove work, an access path narrows it, pages are touched, and a row is reconstructed only at the end.

Page
The unit pages and blocks are read in, shared by every data model.
Block
Pages grouped so that a range of related values is read together.
Row
Reconstructed from its page only when it is actually needed.
Layer detail

What each layer is responsible for.

The same nine layers, in words. Each has one job, when a layer starts doing two, the boundary is in the wrong place.

Interfaces

What enters.

above Planner & coordination

The surfaces applications, AI clients and developers talk to.

  • SQL queries and drivers
  • Document and JSON access
  • Time-ordered reads and writes

Planner & coordination

What gets decided.

sits below Interfaces · above Execution

Turns a request into a plan over one data layer.

  • One plan across data models
  • Predicate and layout awareness
  • Consistent semantics

Execution

What runs.

sits below Planner & coordination · above Storage

Runs the plan close to where the data lives.

  • Vectorized operators
  • Parallel and incremental work
  • Bounded memory per query

Storage

How data persists.

sits below Execution · above Deployment fabric

Rows, documents and events persisted through one storage contract.

  • Page-oriented layout
  • Shared durability guarantees
  • Recovery as a platform property

Deployment fabric

Where it runs.

sits below Storage

Roadmap, not available yet

Where the system runs, and where data is allowed to be.

  • Self-hosted and cloud topologies
  • Region and residency boundaries
  • Replication as policy, not accident
Transactions & MVCC

Readers and writers do not wait for each other.

Multi-version concurrency control is what lets a long read and a steady write stream share one data layer. Each statement works against a snapshot, so its answer is internally consistent, and writers are never held up by the readers around them.

The same rule applies whether the statement touches a table, a document field or a time window, because all three run through one execution and storage path.

  • Snapshot reads

    A statement reads a consistent view of the data as of the moment it started, so it never sees a half-finished write.

  • No reader/writer blocking

    Writers do not wait for readers and readers do not wait for writers, which is what keeps concurrent workloads predictable.

  • One boundary

    The same transaction semantics apply to rows, documents and time-ordered data, because they share one execution and storage path.

Confidence

What is settled, and what is still moving.

Some parts of the design we would defend in a review. Others are openly in motion. Saying which is which is more useful than pretending everything is finished.

Settled

One storage contract
Every data model is persisted through the same page-oriented layout, durability rules and recovery path.
One plan per request
The planner reads the data layer directly instead of coordinating a list of independent remote systems.
One recovery story
Recovery is a property of the platform, so it does not have to be re-taught per storage system.
One primary surface
SQL for structured data, with document field access and time windows available inside the same query.

Still moving

Deployment fabric
Where the system runs, and what a region means for reads, writes and residency.
Distribution
Replication and region boundaries as declared policy rather than an accident of setup.
Vector, graph and blobs
Additional access paths over the data that already lives in the layer.
Multi-storage
One system spanning more than one class of backing storage.
Collaborate

Building around data infrastructure?

Talk with the PLOMID team about integration, architecture or technical collaboration, whether you are connecting a system to the layer, running it, or designing on top of it.