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

Background

Landscape and positioning

This section compares products. What we learned from them, and how we credit it, is in PRIOR_ART.md.

Table formats

Iceberg (plain)Delta LakeApache HudiApache PaimonDuckLakeLanceTimelake
StewardApacheLinux Foundation (Databricks)Apache (Onehouse)Apache (Alibaba)DuckDB LabsLanceDB—
Core ideaSpec-first open table formatTransaction log on object storageStreaming upserts, record indexesLSM tree per bucket; streaming-firstMetadata in a SQL databaseRandom access for ML / vectorsIceberg + time-series conventions + optional hot tier
Read support (DuckDB / Spark / Trino / warehouses)BroadestBroadSpark/Flink-centricFlink/Spark-centric; can emit Iceberg metadataDuckDB-centricLimited for analyticsSame as Iceberg
Frequent small writesWeak (per-commit metadata cost)ModerateGoodStrong (LSM)Strong (inlining in catalog DB)ModerateStrong with hot tier / batched commits
Upserts / dedupMerge-on-read deletesMERGE, deletion vectorsNativeNative (merge engines)YesYesDedup by dedup_key (spec 12)
Time-series aware layout / compaction✗✗✗✗✗✗✓
Materialized rollups✗✗✗Aggregation merge engine (on write)✗✗✓ incremental, late-data aware
Needs extra infrastructureCatalogOptional catalogSpark/Flink jobsFlink/Spark jobsSQL database✗Catalog (ours or any); hot store optional

Managed catalogs and maintenance services

AWS S3 TablesCloudflare R2 Data CatalogApache AmoroLakekeeper / Polaris / NessieTimelake
What it isManaged Iceberg + table bucketsManaged Iceberg catalog on R2Open-source "self-optimizing" lakehouse manager (JVM server)Open-source Iceberg REST catalogsOpen-source library + optional catalog + jobs
StorageAWS onlyR2 onlyAnyAnyAny
CompactionGeneric, automatic (billed)Generic, automaticGeneric: compaction, dedup, sort✗Time-series aware, tiered partitions
Snapshot expiry / cleanup✓✓✓✗✓
Late data, rollups, retention by time, GDPR erasure, backfill, ingestion rules✗✗✗✗✓
Runs serverless / scale to zeroManagedManaged✗ (resident server)Server✓

Also watch: RustFS 1.0 (Apache-2.0, Rust, GA 2026-09) is an S3-compatible object store that ships an Iceberg REST catalog / S3 Tables-style API. It's a likely integration target (storage + catalog in one binary) and a potential competitor for the "open-source S3 Tables" position.

Also watch: IceGate (Apache-2.0, Rust, prototype) is an OpenTelemetry observability lake on Iceberg + Parquet with a DataFusion engine and an object-store Parquet WAL. It shares our stack, not our use case; notes and ideas to adopt are in PRIOR_ART.md.

Time-series databases (baselines, not lakes)

TimescaleDB, InfluxDB 3, QuestDB, TDengine, GreptimeDB. They are fast and feature-rich, but they own the storage. Long retention is expensive, and the data is not an open table that other engines can read. They are the performance and ergonomics bar Timelake is measured against (spec 44).

TimescaleDB on Tiger Cloud is the closest managed alternative.

  • Tiered storage (timescaledb_osm) moves older chunks to S3, and they stay queryable through the database. It has to be enabled per service in the Console; it can't be enabled over SQL.
  • timescaledb_lake, Tiger's Iceberg integration, is available on Tiger Cloud services (seen at version 1.0.1, 2026-10). It is to be evaluated.

Both keep the database as the entry point, which is the trade-off Timelake avoids. The benchmark of tiered storage was bench/v0/tsdb_cloud.py (in git history at b99aae9; results in bench/results/TIMESCALE.md).

All Timelake columns are design targets until measured by timebench (spec 44).