I'm creating a C# desktop application which intakes data from the USB that wires to multiple transducers (sensors/products), e.g. temperature, dimension, humidity etc. Each products/sensor transmits data real-time to the pc at the same time, in high sampling rate (>1000/s) and card inserts to some corresponding database table (e.g. temperature data saved to temperature table etc).

Which type of database will work for such application, ideally free? MySQL? SQLite? Also what type of configuration I will have to do in order to my Database to prevent data lost throughout high-speed data insertion?

perhaps you have had a glance at db40, its Free object database created for your work.


Its readily available for Java &lifier .Internet &lifier has loads of good examples, ZERO config (new database(fileName)). If db4o is not able to maintain the insertion rate (that is unlikely but who knows) you can have a cache in memory of objects to place (i.e. cache in memory if db write would be to slow and pop products off stack on effective write).

I have tried personally VistaDB (compensated .internet file database) that is good, unsure concerning the high amounts of insertion but when you cache in memory to some stack I suppose you can test out different database companies without needing to rework to much code.

Another alternative will be a logging solution like log4net, just conntacting files but might be worth concidering.