Introducing CeresDB: An Open‑Source Distributed High‑Performance Time Series Database
CeresDB, a distributed high‑availability time‑series database originally built at Ant Group, is now open‑sourced with version 0.2.0, offering high‑throughput writes, multi‑dimensional queries, SQL support, compatibility with Prometheus and OpenTSDB, and a range of features targeting both monitoring and analytical workloads.
CeresDB originated within Ant Group as a distributed, highly available time‑series database designed to handle the massive write throughput of Ant's site‑wide monitoring data, ingesting tens of trillions of data points daily.
The article explains the fundamentals of time‑series data, emphasizing its chronological nature, multi‑dimensional reporting, and typical use cases in IoT and anomaly detection, illustrated with sample data points.
Key characteristics of time‑series workloads are described: continuous, stable, high‑throughput writes; "write‑many, read‑few" patterns; real‑time ingestion of fresh data; queries focused on recent intervals, coarse‑grained historical scans, and multi‑dimensional filtering.
A survey of the current time‑series database landscape shows rapid growth, with InfluxDB, Kdb+, and Prometheus leading the DB‑Engines rankings. InfluxDB offers a rich ecosystem but only a single‑node engine as open source; Kdb+ excels in high‑frequency trading with vectorized, column‑store processing; Prometheus provides a full monitoring stack based on a pull model.
CeresDB differentiates itself by combining high‑throughput, schema‑less ingestion with analytical capabilities. It supports Prometheus and OpenTSDB protocols, provides SQL query access, and incorporates analysis‑engine features similar to InfluxDB IOx and Kdb+, aiming to serve both monitoring and large‑scale analytical scenarios.
The open‑source release (v0.2.0) includes a time‑series analysis engine, table model with SQL read/write, local file and OSS storage back‑ends, WAL support via RocksDB and OBKV, single‑node and configurable distributed deployment options, and MySQL protocol compatibility.
Sample raw data lines are shown below:
host=192.168.0.1,cluster=A | timestamp=2022-06-26 15:00 => 4 host=192.168.0.1,cluster=A | timestamp=2022-06-26 15:01 => 4.8 host=192.168.0.1,cluster=A | timestamp=2022-06-26 15:02 => 3.9 host=192.168.0.1,cluster=A | timestamp=2022-06-26 15:03 => 4.7 host=192.168.0.1,cluster=A | timestamp=2022-06-26 15:04 => 3.9 host=192.168.0.1,cluster=A | timestamp=2022-06-26 15:05 => 3.5 host=192.168.0.2,cluster=B | timestamp=2022-06-26 15:00 => 2.2 host=192.168.0.2,cluster=B | timestamp=2022-06-26 15:01 => 1.3 host=192.168.0.2,cluster=B | timestamp=2022-06-26 15:02 => 2.9 host=192.168.0.2,cluster=B | timestamp=2022-06-26 15:03 => 2.6 host=192.168.0.2,cluster=B | timestamp=2022-06-26 15:04 => 1.4 host=192.168.0.2,cluster=B | timestamp=2022-06-26 15:05 => 1.8Open‑sourcing CeresDB aims to share Ant Group’s extensive time‑series experience with the community, encourage collaborative development, and accelerate adoption of a next‑generation, Rust‑based, schema‑less, distributed time‑series platform.
Developers are invited to join the community via the GitHub repository, contribute to the roadmap, and help shape the future of CeresDB.
AntTech
Technology is the core driver of Ant's future creation.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.