>I'm in the process of architecting the software for an embedded Linux system
>> that functions as a remote and local user interface to a control system.
>> There
>> will be a lot of analog (fast) data arriving via SPI bus and I'm thinking of
>> using SQLite to store this data in a well organized and easy to access
>> manner.
>> 
>> My main concern is performance. Has anyone had any similar application
>> experience they could comment on? I want to be able to insert data arriving
>> on the SPI bus and then query the data to update a GUI at a very high rate
>> (less than 250Ms). This is not real time so 250Ms is desirable but does not
>> have to be guaranteed.
>> 
>> Any thoughts or experience would be appreciated...
>> 
>  
>

>> You arn't clear about your update rate, or the amount of data you need 
>> to extract for each GUI update. You also haven't said where you will be 
>> storing the database, in RAM, on a hard disk, or in flash.

>> If the data is only updated every 250 ms, i.e. at a 4 Hz rate, it is not 
>> really very fast, and SQLite should have no problem keeping up even on 
>> an embedded processor.

>> If the GUI has to display only the last value every 250 ms, then you 
>> should have no trouble. If you are trying to redraw a scrolling graph of 
>> the last 400 samples every 250 ms you may have issues to be concerned about.

>> Dennis Cote


Thanks for your reply.

The one thing that scares me is that this will be residing on a flash 
based file system
and not a disk. I'm hoping that's not too much of a performance hit. 
Right now I've
got it running out of RAM and that may be fine 99% of the time but I 
will need to
write it back to flash at some set interval (minutes) to prevent loss of 
data in the case
of a power failure. Not sure how to mix modes like that yet.

The biggest thing on the GUI will be some power level meters. Very slow 
moving
and mostly fixed data. Possibly a spectrum diagram but again, slow 
moving. This
is a control system for commercial TV/Radio transmitter systems.

I didn't give many details because I haven't implemented anything yet. I 
am still
considering my options. I thing SQLite will work I've just got to test 
it. I'm in the
process of setting up a test database and tables that I can work on in a 
way similar to
what I will need. That's probably the best way to be sure in any case. 
If it doesn't
perform fast enough I will work on optimizations. I've dealt with some 
big DB's in the
past (Oracle, Informix, Ingres) but never one quite like this and never 
on an embedded
system. Very new to me.


_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to