We build DalmatinerDB for one purpose, be able to ingest and query more metrics then any other metric store that exists. I am rather confident that we succeeded with that goal. Part of why this has been possible is that it is build for simplicity, we use the same tree structure for metrics that Graphite uses, we use flat files instead of a elaborate database to store metrics, we leverage existing technology like ZFS and Riak Core instead of trying to roll our own clustering, compression, file integrity etc tools, all that removes overhead.
Last week the team of dalaloop.io came over and we set together to discuss and work on tags, or labels, or dimensions, however you want to call them. They are very nice and helpful, however they are not necessarily simple. They conflict with the file layout and data-structures in the DalmatinerDB Backend wich already is not fast for looking up metrics on wildcards. The good news is the modular design of DalmatinerDB allows to not bother the backend with this kind of problems. [Read more…]