← Back to team overview

graphite-dev team mailing list archive

Re: [Question #205123]: Support RDB as storage

 

Question #205123 on Graphite changed:
https://answers.launchpad.net/graphite/+question/205123

Michael Leinartas posted a new comment:
Really cool that you chose Graphite for your project. The first criteria
for a new webapp storage backend in my mind is for there to be something
existing to write to it - RRD falls into this category as would a
backend that read from HBase with the OpenTSDB schema. We've had one or
two proposals for RDB backend, but they failed that test as they
expected something unknown to write with a specific schema. So with
that, I'm real happy to see that you've tackled it from a generic
standpoint - "we have some data that can be rendered in time-series
fashion in our db and want to render it." Being able to configure
graphite to be able to read whatever data layout is in the RDB is an
essential feature.

The new target format is an interesting approach, but it would be much
better if we could keep that as-is and instead allow browsing of the
available data via the Graphite tree. As I read it, the way you've
modeled this should translate without too much trouble, though I'd need
to play with it a bit to be sure.

What version of code did you start with? There's some refactored storage code that was committed to master a while back that should make it relatively easy to hook into the data browsing/fetching system:
Check out: https://github.com/graphite-project/graphite-web/blob/master/webapp/graphite/readers.py
and: https://github.com/graphite-project/graphite-web/blob/master/webapp/graphite/finders.py

You'd be hooking up a new finder that would allow you to browse
available data and a reader the finder would yield that would actually
do the queries to fetch the time/value pairs. It's a bit more complex to
first understand than I make it sound, but the new refactor does allow
new storage to be added in a more modular fashion. With this you'd be
able to browse and use metric path wildcards just as you can with normal
metrics.

Feel free to jump in #graphite on IRC FreeNode to chat about it or ask
for help. Whatever you decide to do, it'd be great if you could publish
the code you have right now somewhere - preferably as a github fork.
There does seem to be a lot of interest in new data backends such as
this.

Thanks again for your interest

-- 
You received this question notification because you are a member of
graphite-dev, which is an answer contact for Graphite.