Timelaketimelake
DocsBenchmarksRoadmapSpecContribute
Apache 2.0 ·
Roadmap

DoneIn progressPlanned

Tables and storage

Done:1. Iceberg tablesDone:2. CommitsDone:3. Object-store catalogIn progress:4. Time-series table contractIn progress:5. File layout and encodingsIn progress:6. Last-value indexDone:7. One-request table state and version checksDone:8. Table format versions and upgradesDone:9. SettingsPlanned:10. Supplemental timestamps

Writing

Done:11. AppendsDone:12. Late data and dedup on readDone:13. Writes from WebAssemblyPlanned:14. Hot tier and seconds-fresh readsPlanned:15. BackfillIn progress:16. Import and migrationPlanned:17. DeletesPlanned:18. GDPR erasure

Maintenance

Done:19. CompactionIn progress:20. Maintenance runs, retention and expiry

Reading

In progress:21. Timelake readerDone:22. Block cacheDone:23. Filter pushdownDone:24. Pruning with long IN listsDone:25. Newest-first scansDone:26. Scans in series orderDone:27. Materialized rollups

SQL functions

In progress:28. Function libraryDone:29. Time buckets and gap fillingDone:30. Signal aggregatesDone:31. Downsampling with m4

Integrations

Planned:32. REST catalogPlanned:33. DuckDB extensionPlanned:34. Snowflake connectionPlanned:35. Multitenancy

Services

Planned:36. Ingestion and rulesPlanned:37. Data to eventsPlanned:38. Static read modelsPlanned:39. Computed metricsPlanned:40. Agent access with permission setsPlanned:41. Device syncPlanned:42. Edge gatewayPlanned:43. Server mode

Benchmarks

In progress:44. Benchmark harness: timebenchIn progress:45. Industrial IoT benchmarkPlanned:46. Agent benchmark

Background

ArchitectureDeployment and cost modelEmbedded engine: DataFusionLandscape and positioningLicense and open corePurpose and requirementsReleases
TimelaketimelakeThe open time-series lakehouse.
v0 · Apache 2.0 · Contribute · GitHubBuilt on Apache Arrow, Apache DataFusion, Apache Parquet, and Apache Iceberg.
DocsBenchmarksRoadmapSpecContribute

Spec 43 · Services

Server mode

PlannedUpdated 2026-10-15View on GitHub
Versions
Not released yet
Roadmap
Server mode
Related
14. Hot tier and seconds-fresh reads, 21. Timelake reader, 42. Edge gateway

Summary

An experiment: the same engine as one long-lived server on local NVMe, with the bucket as the durable copy and Postgres wire and Flight SQL protocols, measured against TimescaleDB before anything is built.

Design

The question. Timelake is already fast on local disk. Could the same engine, run as one long-lived server on an instance with local NVMe, compete with a managed time-series database like TimescaleDB, while the bucket stays the durable copy?

What we measured so far (indicative: different hardware, not one benchmark):

  • Latest values: with a warm process on a laptop's local disk, last-loc takes 2.5 ms and one truck's latest row 0.4 ms. In Phase 0, TimescaleDB answered last-loc in 2–3 ms and plain lake engines needed 34–317 ms (spec 44). The last-value index closed that gap.
  • Analytics: Timelake's TSBS queries take 22–217 ms on the first run from local disk (12 queries).
    • Tiger Cloud's smallest tier needed 2.0 s (columnstore) and 8.9 s (row store), server time.
    • In Phase 0, lake engines were 4–44× faster than an uncompressed TimescaleDB on the same laptop.
  • What a server would remove: most of today's cost on S3 is per-process cold start, fetching metadata, footers and the index before the first byte of data. A long-lived process keeps those in memory.

Design: the same modules, assembled as a server. Nothing in the core may assume a server; the library, the serverless reader, the edge gateway (F7) and server mode are the same crates put together differently.

  • Storage: the table format on local NVMe as the primary store. Every commit is also uploaded to the bucket, synchronously (durable on commit) or asynchronously (faster commits, bounded loss window). Old partitions can live only in the bucket and be read through a cache.
  • Memory: table metadata, Parquet footers, the last-value index and recent data stay in memory, with the hot tier (spec 14) as the in-process write buffer. That makes data visible in under a second.
  • Protocols (both, decided 2026-10-15):
    • Postgres wire protocol, so Grafana, psql and BI tools connect unchanged;
    • Arrow Flight SQL, for fast Arrow clients (and JDBC/ADBC drivers);
    • the existing HTTP API and MCP (F1).
  • Operations: backups and point-in-time restore come from the bucket (snapshots). Failover is a new instance that warms up from the bucket. Readers that don't need the server keep reading the bucket directly.

The experiment, before building it:

  • Setup: one instance with local NVMe (for example c8gd.2xlarge) and the same data (TSBS IoT, then the IIoT benchmark, spec 45). Compare:
    • TimescaleDB, as a hypertable and as columnstore;
    • Timelake behind a thin server: DataFusion plus Flight SQL or Postgres wire.
    • Then managed Tiger Cloud and InfluxDB 3 at similar $/month.
    • Then TSBS with its own loader and query runner over the Postgres wire protocol, and IoTDB's IoT-benchmark, so results sit next to published ones (spec 44).
  • Measure:
    • p50 and p95 latency, cold and warm;
    • throughput with N concurrent dashboards;
    • sustained ingest and freshness;
    • storage;
    • $ per month;
    • recovery time after losing the instance.
  • Bar to build it:
    • within about 2× of TimescaleDB on point lookups and concurrency;
    • faster on analytics;
    • cheaper per month;
    • no data loss beyond the configured window when the instance dies.
  • Known gaps to weigh:
    • one writer per table today, so concurrent writers would go through the server;
    • no multi-statement transactions;
    • Postgres compatibility limited to the SQL that DataFusion supports;
    • one server holds one site's working set.

Open questions and issues

  • #101 Research: server mode as stateless cached query nodes over the bucket, a write broker, and a cost model

History

  • 2026-10-13: planned (F8, SPEC.md §21.8)
  • 2026-10-15: both protocols decided
  • 2026-10-19: moved from SPEC.md into its own spec.
  • 2026-10-19: specs regrouped one per feature, with milestones on the roadmap.