A fast, low-overhead metric database written in pure Erlang, optimized for time-series data storage and querying.
DalmatinerDB is a metric database written in pure Erlang, specifically designed for storing and querying time-series data (timestamp and value pairs). It optimizes for speed and low overhead by leveraging filesystem capabilities like ZFS and using a flat binary storage format, making tradeoffs such as best-effort writes to prioritize high-volume ingestion.
Developers and operations teams needing a performant, self-hosted metric database for monitoring, telemetry, or IoT applications, especially those already using Erlang ecosystems or ZFS filesystems.
It offers a simplified, high-performance alternative to general-purpose time-series databases by explicitly embracing tradeoffs like filesystem delegation and best-effort writes, resulting in reduced complexity and efficient resource usage for metric-specific workloads.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Prioritizes overall writes with best-effort semantics, enabling high-volume metric ingestion without per-write sync overhead, as explicitly traded off in the README for performance.
Offloads tasks like checksums, compression, and caching to the filesystem, especially ZFS, simplifying the codebase and leveraging proven, performant systems instead of reimplementing them.
Uses flat binary files where reads and writes are calculated via filename and offset with simple math, eliminating complex data structure traversal for fast access.
Built in pure Erlang, it leverages native concurrency and fault-tolerance, making it robust for handling distributed metric workloads efficiently.
Employs best-effort writes with no forced sync or write logs, meaning network failures or server crashes can lead to lost data points, as acknowledged in the README's tradeoffs section.
Relies on ZFS for features like intent logging and compression to achieve full performance, limiting flexibility in environments without ZFS or requiring additional setup.
As a specialized Erlang-based database, it may lack the broad third-party integrations, visualization tools, and community support compared to more popular time-series solutions.