You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prometheus's remote read interface is designed for external storage integration, CeresDB support this.
However, remote read is inefficient due to its poor extensibility in large scale distributed environment for reasons below:
Function in ReadHints can only be a string, which mean only one function can be pushdown at a time.
Besides, eval inside engine knows nothing about function pushdown, so functions may be evaluated twice(one in remote storage, the other in Prometheus), which produces wrong result.
Due to reasons above, CeresDB support another integration:
Extend remote read interface to support arbitrary nested functions and modify engine to support function pushdown.
CeresDB will implement frequent used functions(eg rate/sum) so those can be pushdown. In this way CeresDB could generate a distributed PromQL query plan to fully utilize system resources for higher performance.