Introduction to MonoTS
MonoTS is a high-performance, single-node time-series database tailored for edge hardware and reliable data synchronization.
Cloud-native TSDBs are often too heavy for edge gateways and ARM devices. Generic embedded databases persist rows but lack time-series optimizations and native alignment with downstream streaming or data lake platforms.
MonoTS bridges that gap: a lightweight engine that treats edge time-series data as ordered logs from the moment of ingestion, persisting them locally, and then reliably shipping changes to platforms like Apache Kafka or Delta Lake with built-in Change Data Capture (CDC).
Core Pillars
Edge-first architecture
MonoTS targets resource-constrained hosts. It runs as a single monots-server process with configurable memory budgets, flushes data to optimized Parquet SST files on local disk, and exposes SQL over gRPC. It is designed to be independent, with no cloud control plane required for local operation.
Native data synchronization (CDC)
Data synchronization is a first-class server feature. Change Data Capture (CDC) is managed via SQL (CREATE STREAM), which continuously pushes table changes to downstream sinks with at-least-once delivery guarantees and automatic server-side checkpointing.
Resilience for shaky networks
Edge WAN links are unreliable. MonoTS allows ingestion to continue locally while CDC sync pauses or retries. When connectivity returns, streams automatically resume from the last acknowledged checkpoint, eliminating the need to rebuild data pipelines by hand.
Unified Sinks
MonoTS supports synchronizing data to diverse environments:
- Streaming platforms: Synchronize real-time row events to Apache Kafka (JSON format) for immediate stream processing.
- Data lakes: Synchronize sealed data batches to Delta Lake (on S3-compatible object storage or local FS) for historical analytical workloads.
What MonoTS is (and is not)
| MonoTS is | MonoTS is not (today) |
|---|---|
| Single-node edge TSDB with SQL | A managed cloud SaaS cluster |
| gRPC API + CLI + Rust SDK | An HTTP/JSON SQL REST API |
| Built-in CDC to Kafka, Delta Lake, and filesystem | A pull-based CDC client SDK |
Required time column (BIGINT or TIMESTAMP) | Optional timestamps or schemaless blobs |
Vision
Unify local persistence and outbound synchronization at the data source so Edge-to-Cloud pipelines stay simple: Ingest once, query locally, sync reliably.