Time-Series Engine
Alopex Skulk
A time-series engine that grows from embedded to cluster
Start small by embedding it in your application, then move the same application to a server with Prometheus-compatible endpoints and to a cluster that scales out with sharding and replication. Alopex Skulk removes the need to switch time-series databases every time your scale changes. The same engine runs from edge devices to the platform that gathers their data.
A time-series engine that grows from embedded to server to cluster on the same engine, so metrics you start small scale out without switching products.
- Scale
- Embedded, server, cluster
- Queries
- SQL and PromQL
Key points
- Start small and scale out without switching
- One engine from the edge to the central platform
- Stored Parquet remains directly readable by other tools
Challenge
You switch time-series databases every time you scale
- A different product at every scale
- Databases that do not fit the edge
- Exports before analysis
One engine, from embedded to cluster
Start embedded, then grow to a server and a cluster. Point your existing agents at it as they are.
- Embed it in your application and grow to a server and a cluster on the same engine
- Arrow + Parquet keeps stored data directly readable by other tools
- InfluxDB, Prometheus and JSON ingestion let existing agents send data unchanged
- Deployment
- Embedded, server, cluster
- Storage format
- Parquet
Capabilities
From embedded to server to cluster
Every form runs the same engine.
Embedded
Inside edge devices and applications
- Embed it in your application and start right away
- Ship it with your application all the way to edge devices
- Read stored Parquet in place with other tools
Server
Gather and read over the network
- Prometheus-compatible endpoints
- Send data from existing agents and Prometheus
- Query with SQL and PromQL
Cluster
Scale out with availability
- Scale out with sharding
- Protect against node outages with replication
- Use the same data and queries on the cluster
Features
Key features
What Skulk provides to store and read time-series data.
Ingestion in existing formats
Supports InfluxDB Line Protocol, Prometheus Remote Write, and JSON. Point existing agents at it to ingest data.
Time partitioning and TTL
Store data in time-based partitions and automatically remove expired data. No separate retention-management mechanism is needed.
Highly compressed columnar storage
Both repetitive values and highly variable gauges are stored compactly. Retain more history on the same disk.
Parquet readable by external tools
Data stays in Parquet, so analysis needs no export step.
SQL and PromQL queries
Shares Alopex DB's Nim parsers, so the same data reads with both SQL and PromQL.
Tech Stack
Technology stack
Shares components with the Alopex family.
Storage
Apache Arrow + Apache Parquet
Queries
Nim-based parsers
Resources
Related resources
Documentation, source code, and the package.
“Start from the problem you have today. You will see quickly what this product removes.”
Takamine Akari
Product guide
“Open the repository and read the design rationale and the tests yourself.”
Asmati Tatsumi
Technical explanation
Public Resources
The latest documents, code, and community links in one place.
Get Involved
Try it and tell us where it gets stuck
If an ingestion protocol or storage behavior gets in the way, please open an issue.