// research lab · time series infrastructure

Ingestbillions.Query fast.

Epoch ingests 1.24 billion timestamped data points per second and returns query results in under 1ms — before the next tick arrives.

1.24B
points/sec ingest
sustained write throughput
0.31ms
query p50
on 847M row dataset
11.2×
compression
vs raw float64 storage
2.1B
unique series
zero index memory bloat
LIVE
Ingestion Counter
2,84,73,92,104
points ingested total
+12,47,382 pts/sec
Data Stream — Real-time
// infrastructure failure modes

What breaks at scale.

Three real failure patterns. Each one resolved — watch the metrics heal as you scroll.

Single Node — FAILURE

Cardinality Explosion

Prometheus runs out of heap at 10M series. Scrape intervals slip. Alerts stop firing. The dashboard goes dark.

unique series → OOM
Single Node — RESOLVED

Cardinality Explosion

Epoch's bitmap inverted index scales horizontally. 2 billion unique series, same sub-ms tag lookup. No heap pressure.

2.1B
series, zero index bloat
Distributed Cluster — FAILURE💾

Disk I/O Bottleneck

Five years of tick data means 40GB/s read bursts during backtests. Postgres chokes. The quant team waits.

disk utilization → stall
Distributed Cluster — RESOLVED

Disk I/O Bottleneck

Gorilla XOR encoding collapses tick data to 9% of raw size. Your 40GB/s burst becomes 3.6GB/s. Disks breathe again.

0.4 GB/s
effective I/O via compression
Global Replication — FAILURE🌐

Query Timeout

IoT platform. 80,000 sensors. Each dashboard query fans out to 80K series. TimescaleDB hits 47s. Users leave.

p99 latency → timeout
Global Replication — RESOLVED

Query Timeout

Vectorized SIMD execution across columnar segments. 80,000 sensor aggregation in under 1ms. Dashboards feel instant.

0.89ms
p99 across 80K series
Single Node
Distributed Cluster
Global Replication
// infrastructure crisis averted
Your data is melting. The fix takes 5 minutes.
Run a Benchmark →
// who breaks first

Built for the engineers on call at 2 AM.

The pain
Prometheus cardinality wall
The fix
Epoch ingests 2.1B unique series with flat memory.
150×
more series, same RAM
epoch.sql
SELECT count(*) FROM metrics
WHERE __name__ = 'http_requests_total'
  AND time > now() - 1h
GROUP BY instance, job;
-- returned 2.1B rows in 0.31ms
execute_
// independent benchmark results — 2026-02-24

The numbers don't negotiate.

Same hardware. Same dataset — 5 years of S&P 500 tick data, 847M rows. Cold cache. No query result caching.

DatabaseIngest RateQuery p50Query p99CompressionCardinality
Epoch← fastest1.24B pts/s0.31ms0.89ms11.2×2.1B series
InfluxDB38M pts/s4.2ms31ms3.1×~10M series
TimescaleDB22M pts/s8.7ms47s2.8×~5M series
ClickHouse180M pts/s1.8ms12ms6.4×~100M series
* Benchmark methodology: full report → Hardware: 32-core AMD EPYC, 256GB DDR5, NVMe RAID-0.
// no account required

Paste a query.
See the result.

The playground is preloaded with 5 years of S&P 500 tick data — 847 million rows. Write any query. The answer arrives before you expect it.

No sign-up·Preloaded dataset·Results in <1ms