We have  an application requirement for the following:
1) Maintain an in memory database of real time data.  The main table mimics a 
Modbus register address scheme and once the table is created and records are 
inserted to create the table at startup, all writes are updates for the state 
machine. (app. 1000 records).  Reads are through multiple Modbus TCP/IP 
protocol based devices which result in selects of up to 100 contiguous records 
at a time.
2) At periodic intervals based on events and time intervals a disk (SD card) 
database gets updated (inserts).  This contains system parameters, and various 
different tables.
3)  Occasionally the whole database on disk is written to an external media 
(USB) for backup purposes.
4)  Through a web interface user(s) can export portions of a table by 
specifying type of data (table) and start and end time in csv format. (cgi 
All of the above is implemented currently using a "custom" format, and is 
really a pain to expand and modify.
Items 1 & 2 are fairly straight forward to implement, they would be in the same 
executable as well.
My original thought was to use the sqlite3 shell interface to accomplish 4.  I 
am concerned a bit about items 3 and 4 though in regards to performance issues 
in that I can not afford not to service data requests that could come several 
times a second if database could be locked during operation of 3 and 4.  Size 
of the database can grow to 1-2.4GB.
I am open to any suggestions.
Thanks in advance.

sqlite-users mailing list

Reply via email to