Right now the query engine implements the Prometheus query engine interface, which simply uses storage.Queryable as the storage interface.
The interface is quite limited now and the main API is Select to fetch data. It is hard to extend it for now and it is really related to the original promql engine, may not be that easy to extend in the future.
I am wondering if we should define new storage APIs for easier to pushdown or support any kind of physical plan in the future.
We can have some example implementation of the storage layer like using Frostdb.
Right now the query engine implements the Prometheus query engine interface, which simply uses
storage.Queryable
as the storage interface.The interface is quite limited now and the main API is
Select
to fetch data. It is hard to extend it for now and it is really related to the original promql engine, may not be that easy to extend in the future.I am wondering if we should define new storage APIs for easier to pushdown or support any kind of physical plan in the future. We can have some example implementation of the storage layer like using Frostdb.