I am using Sqlite www.sqlite.org to queue data into and out of mysql. The result is better than I expected.
sqlite is an embedded database with a very simple sub-set of sql statements. An sqlite database can be memory resident or disk based. Compiled into a C++ program is only about 100kb. The sqlite benchmarks show it being at least 2 times faster than mysql or postgres.
The speed benefit is that I can put every event I am following from IB TWS into sqlite and then copy the tables quickly using BEGIN/COMMIT into mysql every few seconds. This way I am not hammering the drive as much as I was in the past where every IB event was a standalone INSERT.
I do the opposite for my charting and fill sqlite from mysql with only the table data that I need to refresh the current views. (Working on this now.) In both cases their is no 'sqlite database server', the db is embedded in my application and resident in RAM. It is temp storage only.
This approach is cheap, (free) and easy to adopt if you are already using a sql database. I was trying to keep a lot of data in RAM and using flat files but this approach is fine for what I am doing. Commercial packages or HDF5 seemed like overkill. You can get this up in running in a few hours and see if it is an alternative you can use.
Something to consider.
Great threads fatrat and others....
Happy New Year!
sqlite is an embedded database with a very simple sub-set of sql statements. An sqlite database can be memory resident or disk based. Compiled into a C++ program is only about 100kb. The sqlite benchmarks show it being at least 2 times faster than mysql or postgres.
The speed benefit is that I can put every event I am following from IB TWS into sqlite and then copy the tables quickly using BEGIN/COMMIT into mysql every few seconds. This way I am not hammering the drive as much as I was in the past where every IB event was a standalone INSERT.
I do the opposite for my charting and fill sqlite from mysql with only the table data that I need to refresh the current views. (Working on this now.) In both cases their is no 'sqlite database server', the db is embedded in my application and resident in RAM. It is temp storage only.
This approach is cheap, (free) and easy to adopt if you are already using a sql database. I was trying to keep a lot of data in RAM and using flat files but this approach is fine for what I am doing. Commercial packages or HDF5 seemed like overkill. You can get this up in running in a few hours and see if it is an alternative you can use.
Something to consider.
Great threads fatrat and others....
Happy New Year!