Monarch: Google’s Planet-Scale In-Memory Time Series Database
61–70 of 133 posts
Re: Monarch: Google’s Planet-Scale In-Memory Time Series Database
#62Earlier quoted context omitted.
It seems like you're asserting a very specific definition of scalability that excludes Prometheus' scalability model. Scalability is an abstract property of a system that can be achieved in many different ways. It doesn't require any specific model of sharding, batching, query replication, etc. Do you not agree?
I’m not defining terms arbitrarily. https://en.wikipedia.org/wiki/Database_scalability Scalability means running a single workload across multiple machines. Prometheus intentionally does not scale this way. I’m not being mean, it is fact. It has made engineering design trade offs and one of those means it is not built to scale, this is fine, I’m not here pooping on your baby. You can build scalable systems on top of…
Re: Monarch: Google’s Planet-Scale In-Memory Time Series Database
#63Re: Monarch: Google’s Planet-Scale In-Memory Time Series Database
#64Interesting 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?
Prometheus itself has no scalability at all. Without distributed evaluation they have a brick wall.
That's why Google spent all that money to build Monarch. At the end of the day Monarch is vastly cheaper in person time and resources than manually-configured Borgmon/Prometheus. And there is much less friction in trying new queries, etc.
Re: Monarch: Google’s Planet-Scale In-Memory Time Series Database
#65Earlier quoted context omitted.
It seems like you're asserting a very specific definition of scalability that excludes Prometheus' scalability model. Scalability is an abstract property of a system that can be achieved in many different ways. It doesn't require any specific model of sharding, batching, query replication, etc. Do you not agree?
Prometheus cannot evaluate a query over time series that do not fit in the memory of a single node, therefore it is not scalable. The fact that it could theoretically ingest an infinite amount of data that it cannot thereafter query is not very interesting.
Re: Monarch: Google’s Planet-Scale In-Memory Time Series Database
#66Earlier quoted context omitted.
You pretty quickly exceed what one instance can handle for memory, cpu or both. At that point you don't have any real good options to scale while maintaining a flat namespace (you need to partition).
Sure? Prometheus scales with a federation model, not a single flat namespace.
Monitoring as a service has a lot of advantages.
Re: Monarch: Google’s Planet-Scale In-Memory Time Series Database
#67Earlier quoted context omitted.
I’m not defining terms arbitrarily. https://en.wikipedia.org/wiki/Database_scalability Scalability means running a single workload across multiple machines. Prometheus intentionally does not scale this way. I’m not being mean, it is fact. It has made engineering design trade offs and one of those means it is not built to scale, this is fine, I’m not here pooping on your baby. You can build scalable systems on top of…
Scalability isn't a well-defined term, and Prometheus isn't a database. :shrug:
Sorry for being rude, but this level of ignorance is extremely frustrating.
Re: Monarch: Google’s Planet-Scale In-Memory Time Series Database
#68Earlier quoted context omitted.
Sure? Prometheus scales with a federation model, not a single flat namespace.
This means each new query over a certain size becomes a federation problem, so the friction for trying new things becomes very high above the scale of a single instance. Monitoring as a service has a lot of advantages.
Re: Monarch: Google’s Planet-Scale In-Memory Time Series Database
#69Earlier quoted context omitted.
Is it really that different from, say, the way Prometheus supports histogram-based quantiles? https://prometheus.io/docs/practices/histograms/ Granted, it looks like Monarch supports a more cleanly-defined schema for distributions, whereas Prometheus just relies on you to define the buckets yourself and follow the convention of using a "le" label to expose them. But the underlying representation (an empirical CDF) se…
Much different. When you are reporting histograms you can combine them and see the true p50 or whatever across all the individual systems reporting the metric.
Re: Monarch: Google’s Planet-Scale In-Memory Time Series Database
#70Earlier quoted context omitted.
This means each new query over a certain size becomes a federation problem, so the friction for trying new things becomes very high above the scale of a single instance. Monitoring as a service has a lot of advantages.
Well you obviously don't issue metrics queries over arbitrarily large datasets, right? The Prometheus architecture reflects this invariant. You constrain queries against both time and domain boundaries.
It scales so well that many aggregations are set up and computed for every service across the whole company (CPU, memory usage, error rates, etc.). For basic monitoring you can run a new service in production and go and look at a basic dashboard for it without doing anything else to set up monitoring.