Chronix

Reference

The implementation, subsystem by subsystem: types, formats, invariants and the call paths between them. This is the level of detail you need to modify the engine or to reason about a failure, and it assumes the concepts from Internals.

One page per subsystem, because a single page that answers forty questions answers none of them well.

  • Crate Layout & Data Model How Chronix is split into nine crates, and the data model underneath: series keys, canonical forms, tags versus fields, and time sharding.
  • Storage Engine The write path end to end: write-ahead log, lock-free memtable, immutable .csx segments, the storage backend, compaction, caching and the data lifecycle.
  • Column Encoding The codec layer: ALP for decimal floats, Gorilla/Chimp/Patas XOR codecs, delta-of-delta timestamps, frame-of-reference integers, dictionary tags, and adaptive per-block selection.
  • Indexing & Query Execution Layered segment pruning, bounded-memory scans, the SQL engine on DataFusion, the PromQL evaluator, and encoded-domain predicate pushdown.
  • Embedded API The chronix facade: opening a database, writing, querying, deletes and their tombstone lifecycle, rollups, retention, and Parquet export.
  • Server Architecture How chronixd is put together: the HTTP, gRPC and Arrow Flight SQL surfaces, wire-protocol compatibility, metrics and distributed tracing.
  • Analytics & Streaming The analytics engine, real-time analytics, the CDC event bus, the pipeline orchestrator and the signal/trigger system.
  • Security Internals Authentication, Cedar authorization, the audit trail and multi-tenancy, as they are implemented.
  • Object Storage & Cold Tier Tiering segments to S3, GCS or Azure as Hive-partitioned Parquet that any Arrow reader can open.
  • Cluster Architecture (frozen) The distributed Meta/Data/Query design and auto-scaling — kept compiling as reference, not part of the supported single-node product.
  • Testing & Hardening How chronix is tested: real crashes, injected I/O failures, property tests, fuzzing, and the guards that check the documentation against the tree.