Benchmark · AWS validation

TemporalStore + MatrixObject: shared-storage performance on AWS.

Early results from running the Rust TemporalStore engine on the Rust MatrixObject shared object store, in shared-storage mode with compute/storage disaggregation. The focus is concurrent read + write throughput and latency on AWS, and how serving scales as stateless datanodes are added over one durable copy.

Measured AWS result. MatrixObject beat EFS on the shared-storage write path: sync storage write p99 was 6.07 ms on MatrixObject vs 16.41 ms on EFS, and async flush batch p99 was 7.20 ms vs 205.02 ms.

Setup

DimensionValue
EngineRust TemporalStore (append-structured block store; no LSM write amplification)
Shared storeRust MatrixObject object store — one durable copy; compute/storage disaggregation
ModeShared-storage; stateless datanodes serve over the shared object store
WorkloadConcurrent reads + writes (per-shard pipelines running ingest and query together)
EnvironmentAWS us-west-2; c7i.large validation workers and MatrixObject node
ComparisonAWS EFS shared storage vs Rust MatrixObject shared object store
Validation run8,000 shared-store operations, 256-way concurrency, three samples per backend
Code versionTemporalStore / MatrixObject commit 79afda8

What we measure

  • Concurrent throughput — sustained writes/sec and reads/sec under mixed load.
  • Latency — p50 / p95 / p99 for reads and writes while the other side is active.
  • Horizontal scaling — throughput as stateless datanodes are added over the shared store, with no data movement.
  • Durability — no data loss under the shared-store write policy (sync vs async).

AWS results: MatrixObject vs EFS

The table below reports three-run averages from the latest AWS validation. Lower is better for latency and wall-clock rows; higher is better for throughput. Replay lag stayed at zero for both backends.

MetricEFS shared storageMatrixObject shared storeResult
Sync storage write p9916.41 ms6.07 ms63.0% lower latency
Async durable write p9910.25 ms0.36 ms96.5% lower latency
Async flush batch p99205.02 ms7.20 ms96.5% lower latency
Concurrent sync write p993,492.65 ms130.47 ms96.3% lower latency
Concurrent sync write throughput118.10 ops/s140.66 ops/s19.1% higher throughput
Concurrent sync read p991.57 ms1.56 mseffectively tied
Concurrent sync lag after replay0 ops0 opsconsistent replay
Wall clock2,138.64 s351.62 s83.6% lower elapsed time

Latest AWS report generated on 2026-08-10 at 18:48 Pacific for image matrixobject-rust:opt-79afda8-20260810-1802.

Why shared storage + MatrixObject

In shared-storage mode the durable data lives once in MatrixObject, so datanodes become stateless compute: add or remove them to scale serving without moving bytes, and replace a failed node instantly. Combined with TemporalStore’s append-structured block store (batched WAL, deferred fsync), that is what lets concurrent read + write throughput stay high on AWS.

Architecture detail: storage & replication modes and the enterprise topology on temporalstore.ai.