SiriDB on Ubuntu 24.04

Azure Databases

SiriDB, an open source time series database built for fast writes and fast range queries, with its own compact query language.

Base
Hardened build
minimal ports, security patches applied at build time
Access
Unique credentials
generated on first boot, readable only by root
Verified
Boots working
services pass a health gate before release
Support
24/7, 365 days
by email and live chat, 24 hour response SLA

Overview

SiriDB is an open source time series database written in C. It is built for workloads that write a great many timestamped points and then read them back over ranges: infrastructure and application metrics, sensor and industrial telemetry, financial ticks, and any other measurement that arrives continuously and is asked about by time. Recent points are held in an in memory buffer for high ingest rates and then written into compressed shards on disk, so storage stays compact without giving up query speed.

Rather than bolting time onto general purpose SQL, SiriDB has its own compact query language covering selection, filtering by series name or tag, grouping and aggregating by time window, merging series together and downsampling, which keeps common time series questions short to express. Series can hold numeric values or log strings, and can be organised with groups and tags. SiriDB was designed to scale horizontally across pools of servers with no central master and no single point of failure, so a deployment can start as one node and grow. It is queried through a native client protocol with official command line tools and connectors for several languages.

Why the cloudimg image

SiriDB publishes well known default passwords, one for the server service account and one for the first user of every new database, and the upstream server recreates them whenever it finds no account file. The cloudimg image never ships them. Each machine generates its own long random secrets at first boot and replaces every published default before the database port is opened at all: the bootstrap runs on a private loopback port, and the real service is held shut by a readiness marker until the rotation has been verified. The image then re-checks at run time, listing the accounts the server actually has rather than a fixed list, and proving that none of them still accepts a published or guessable password.

Both database listeners bind to the loopback interface only, and the two optional web services are left switched off because upstream binds them to every interface and they cannot be restricted. The database itself ships completely empty, with no data, no account file and no node identity, so nothing is shared between deployments. The server runs as an unprivileged system account under systemd hardening, the build toolchain is removed from the finished image, and the official query and admin command line tools are installed and ready. Every deployment ships fully patched, with a paired deploy guide and 24/7 cloudimg support.

Common uses

  • Store infrastructure and application metrics at high ingest rates
  • Collect sensor and industrial telemetry on infrastructure you own
  • Back dashboards and alerting with range and aggregation queries