[rrd-developers] implementing portable format - change format?

Sfiligoi Igor sfiligoi at lnf.infn.it
Mon Nov 17 16:07:04 CET 2008


Tobias Oetiker wrote:
> Hi Igor,
> 
> Yesterday Igor Sfiligoi wrote:
> 
>> Hi Kevin and Tobi.
>>
>> Since you are planning to radically change the format, have you considered
>> going a more "standard" way?
>>
>> Instead of having a completely RRDTool specific format, use something
>> other tools could easily read?
>>
>> What about SQLite?
>> It is already portable.
>> And it is a database ;)
>>
>> It should be pretty easy to define a schema that serves RRDTool well.
>>
>> Would it be worth a consideration?
>>
>> Igor
> 
> yes the thought has crossed my mind, the problem with SQL databases
> is that they are not realy good at updating round robin archives,
> du to transactional consistancy constraints they will create
> internal fragmentation which will cause performance to suffer
> dramatically.
> 
> BUT it would be an interesting thought to see, if we can abstract
> the interface enough so that writing a 'plugin' for an sqlite
> storage backend becomes easy ...
> 
> cheers
> tobi
What if the table had a structure like this:
index,date,value(1,value2,...)

with index the table key.
I.e. very similar to what you have now in the RRD file.

One would populate all the rows with consecutive indexes and
date=NULL,valueX=NULL at creation time.
The updates would be SQL UPDATEs on the existing row, i.e. replacing
date+valueX at a specific index.

No INSERTs, no DELETEs.
This should keep the database compact and of fixed size.

Do you still see a fragmentation problem under this conditions?

Cheers,
  Igor




More information about the rrd-developers mailing list