• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 157
  • Last Modified:

VB.net and databases - create new databases/results

I've a vb.net application that connects to an external device and gathers data in tab delimited forms every 2 secs. The data comes simply as a long string with 50 values tab separated for processing.
This data needs to be stored along with calculated results.
The user will create different "projects" on each run on the software, by clicking "Start recording data" to start retrieving the data every two seconds.
I'm not sure whether the data retrieved (and results calculated from it) should be dumped into an SQL server database - in which case a blank database needs created every times the user clicks "Start recording data" or
into an XML file...
or any other database for that matter.

Whats are the thoughts of experts on way to go - server 2005 or XML or other?  

If server 2005 I'd need to know how to create new replica of blank database (included in installer) each time the user clicks "Start recording data"
If as an XML file, should the file be saved each 2 seconds, or just at end of recording, or at certain  intervals?
Recording may be up to two hours, 50 fields each 2 seconds.

Thanks in advance for help and advice
  • 2
  • 2
1 Solution
Daniel WilsonCommented:
If you're going to store the data for future analysis, I'd stick it in a database.  XML is great for transmitting data between systems and storing small amounts (e.g. application settings).

If you're going to get any significant quantity of data, you want a DB.

Now ... why do you need a separate database every time recording starts?  Why can't you just add a field to your table to differentiate between batches of data & populate that with something unique each time?
rwallacejAuthor Commented:
thanks for advce.

"stick it in a database" - yeah, that's what I was thinking but wanted confirmation

"add a field" - I thought the databases could get very big , so separate databases for each run might be better?  ideally stuff would be kept in one DB though.

however, there's the issue that before each run a new build would need to be created as each run might require more fields. maybe fields can be added automatically though?
Daniel WilsonCommented:
Very big ... How many GB are we talking about?

50 fields every 2 seconds for 2 hours ... That's only 1800 rows.  How long are the fields?  Assuming each field is 1 KB (which it probably isn't that big) ... that's still only a matter of MB's on each run.

After several runs, I might consider archiving the data to different TABLE(s), but would not look at running multiple DB's until I ran into 10's of GB's.

rwallacejAuthor Commented:
I'll go for the single dbase option for now and deal later if it gets too big....but that'll be a LONG time away

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now