Interesting storage method; I like it. Some notes:<p>- A MySQL backend should be very fast, but scaling it into multiple shards will have to be an exercise for the user. Perhaps CitusDB (PostgreSQL compatible) could be useful here.<p>- Metrics cannot be tagged. This will make it useless for any sort of rollups or breakdowns ("give me the sum of requests over my servers in the XYZ data center"; "give me the requests for each server in the XYZ data center by hostname").<p>The second issue in particular needs attention before it can complete with enterprise-grade metrics solutions such as Datadog.
I'd love to see an honest comparison against RRDtool. You mention it once in "Support for sparse data (unlike the fixed-size RRDtool)".<p>What are the other advantages, disadvantages and trade-offs?