Bas,
It would seem that the dataset is not a good idea for you. The first
option I would recommend is creating your own objects instead of using typed
data sets and handle the parsing yourself into these objects, into some
format that is more easily searchable. While I am a big advocate for typed
data sets, they are clearly inadequate for some situations (like this one).
Being able to query things in from data sets in general is a pain. Also,
loading this amount of data in memory is going to kill your performance.
The second option (and I dont know how feasable it is) is to store the
log information in a database. Database servers are meant to handle this
amount of data, and perform queries on them. It would save you a ton of
time in development if your store was a DB (with regular backups, for
obvious reasons).
As for the bloat you see when storing the data as XML, there is no way
around it. The very nature of XML is what you are seeing here, since the
persistence format for the infoset is text (and text is not an efficient
representation of data).
Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
-
(E-Mail Removed)
"Bas Hamer" <(E-Mail Removed)> wrote in message
news:382DBB17-9D43-40D6-AB91-(E-Mail Removed)...
>I guess I don't know how to word it better than that.
>
> Our company has machines that generate log file in our own proprietary
> language. A while back I wrote a class that took one of these files and
> loaded all the data into a dataset of some predefined tables and some
> dynamic
> tables. This worked well for a while and gave me the ability to do
> searches,
> although each search ended up being a lot of custom code.
>
> Now I'm getting to the point where I need to revisit this code and I'm
> trying to create a hierarchy of classes.
>
> So the base class is Log, and that is inherited by a class called
> MachineXLog. Now since i know what information would appear in MachinexLog
> I
> could create a strongly typed dataset that defines all the fields of this
> new
> table.
>
> So the problem comes in at this point. I have a large table, of dynamic
> fields. I want to run a select statement on this table, and grab a subset
> of
> these fields and stick this data in a strongly typed table for easy coding
> access.
>
> One of the big sticking points is performance. I need to move ~12 Gigs of
> compressed data trough this process (changed into xml it turn into 600
> Gigs
> of xml).
>
> .Net 2.0 answers are fine as well.
>