A <i>huge</i> difference between monarch and other tsdb that isn’t outlined in this overview, is that a storage primitive for schema values is a histogram. Most (maybe all besides Circonus) tsdb try to create histograms at query time using counter primitives.<p>All of those query time histogram aggregations are making pretty subtle trade offs that make analysis fraught.
A lot of Google projects seem to rely on other Google projects. In this case Monarch relies on spanner.<p>I guess its nice to publish at least the conceptual design so that others can implement it in “rest of the world” case. Working with OSS can be painful, slow and time consuming so this seems like a reasonable middle ground (although selfishly I do wish all of this was source available).
Google Cloud Monitoring's time series database is backed by Monarch.<p>The query language is mql which closely resembles the internal Python based query language: <a href="https://cloud.google.com/monitoring/mql" rel="nofollow">https://cloud.google.com/monitoring/mql</a>
The first time I heard about Monarch was in discussions about the hilarious "I just want to serve 5 terabytes" video[0].<p>[0]: <a href="https://m.youtube.com/watch?v=3t6L-FlfeaI" rel="nofollow">https://m.youtube.com/watch?v=3t6L-FlfeaI</a>
I don't quite get the benefit of pull model by default either. A pull model by default means that it's not easy for a library to publish its metrics. For instance, every god damn application is expected to implement a `/metrics` endpoint for a freaking agent to publish the application's metrics to Prometheus. With Monarch, any library or application can simply publish metrics to Monarch's API. Similarly in Netflix, publishing to its Altas system is totally transparent to library authors, with the help of their metric library.<p>Sometimes I feel many open source systems do not give a shit about productivity.
Interesting that Google replaced a pull based metric system similar to Prometheus with a push based system... I thought one of the selling points of Prometheus and the pull based dance was how scalable it was?